Nhờ pro web trợ giúp về JWPlayer

Bác nào am hiểu về JWPlayer cho e hỏi muốn thay cái nút HD thành label chất lượng khi lựa chọn chất lượng thì làm như thế nào ạ?
Cụ thể là từ cái giao diện mặc định của JWPlayer

2017_09_07_171335.png


đổi thành như này:

2017_09_07_171128.png


Ai biết làm ơn giúp e!
 
Cứ theo cấu trúc mà tỉa

file: "nguồn link video",
label: "tên nhãn muốn hiển thị"

HTML:
 var playerInstance = jwplayer("id player");
  playerInstance.setup({
      image: "hình nền",
      sources: [{
        file: "nguồn 720",
        label: "720p"
      },{
        file: "nguồn 360",
        label: "360p",
        "default": "true"
      },{
        file: "nguồn 180",
        label: "180p"
      }]
    });
 
Cứ theo cấu trúc mà tỉa

file: "nguồn link video",
label: "tên nhãn muốn hiển thị"

HTML:
 var playerInstance = jwplayer("id player");
  playerInstance.setup({
      image: "hình nền",
      sources: [{
        file: "nguồn 720",
        label: "720p"
      },{
        file: "nguồn 360",
        label: "360p",
        "default": "true"
      },{
        file: "nguồn 180",
        label: "180p"
      }]
    });
Làm như thế chỉ thay đổi label trong danh sách khi nhấn vào nút HD thôi, còn không thay cái nút HD kia bằng label chất lượng được
 
Sau khi đọc kỹ lại đã hiểu ý bạn muốn nói. Muốn thay đổi chỗ đó thì phải tiến hành cắt lại css html5 player, còn play bằng flash thì khó sửa

Sử dụng JW Javascript API để get quality

https://developer.jwplayer.com/jw-player/docs/javascript-api-reference/jw7/

Rồi dùng Javascript DOM để ẩn nút HD đi và thay bằng Element Quality

https://developer.jwplayer.com/jw-player/css-skinning-model.html

Một mẫu xử lý với JWPlayer 6

Mã:
<div id='player'></div>

<script type='text/javascript'>
jwplayer('player').setup({
    sources: [{
        file: "720.mp4",
        label: "720p",
        "default": "true"
      },{
        file: "360.mp4",
        label: "360p"
      },{
        file: "180.mp4",
        label: "180p"
      }]
});


jwplayer('player').onPlay(function(event){
    var label = jwplayer('player').getQualityLevels()[jwplayer().getCurrentQuality()]['label'];
    document.getElementsByClassName('jwhd')[0].getElementsByTagName('span')[1].className = 'jwtext jwduration jwhidden';
    document.getElementsByClassName('jwhd')[0].getElementsByTagName('span')[1].innerHTML = '<button style="display:none"> </button>' + label;
});


jwplayer('player').onQualityChange(function(event){
    var label = jwplayer('player').getQualityLevels()[jwplayer().getCurrentQuality()]['label'];
    document.getElementsByClassName('jwhd')[0].getElementsByTagName('span')[1].className = 'jwtext jwduration jwhidden';
    document.getElementsByClassName('jwhd')[0].getElementsByTagName('span')[1].innerHTML = '<button style="display:none"> </button>' + label;
});
 
Sửa lần cuối:
nhưng mà e dùng jwplayer 7.12.6 nên tên class và phần tử nó khác Jwplayer 6, mà e thì ko biết về DOM lắm nên mong bác fix code trên theo Jwpayer 7 hộ e, cảm ơn bác rất nhiều!
 
Mình không dùng JW 7 đâu bạn, JW 6 có keygen, muốn dùng JW 7 lại phải đăng ký tài khoản, get license free lằng nhằng lắm

Chưa biết DOM thì lên w3shools học

https://www.w3schools.com/js/js_htmldom.asp

Cái nút đó thuộc class .jw-state-paused .jw-icon-hd, nhấn F12 trình duyệt lên qua Tab Elements, ctrl + F, tìm .jw-icon-hd, rồi tiến hành cắt lại giao diện, thấy OK mới chuyển DOM hoặc jQuery để ghi lại elements sang giao diện mới

JW Player 6: http://4share.vn/f/3207070607050305/
 
Top