不知道您正在使用的完整代码,所以我会做一个有根据的猜测:
var jw = jwplayer("vplayer");
jw.setup({
icons: false,
sources: [
{file: origurl},
{file: origurlsd}
],
tracks: [{
file: "cc_file",
kind: "captions",
'default': true,
label: 'English'
}],
image: origimg,
width: "70%",
aspectratio: "16:9",
abouttext: "...",
aboutlink: "...",
skin: "/res/libraries/jwplayer/skins/target-v6-11/glow.xml"
});
$.get(file_cc, function() {
console.log("found file");
var ccList = jw.getCaptionsList();
var ccList[1] = file_cc;
ccList.setCurrentCaptions(1);
jw.on('complete', done);
jw.on('error', fail);
function done() {...}
function fail() {...}
});
要更了解这种混乱,请参阅:http: //support.jwplayer.com/customer/en/portal/articles/1413089-javascript-api-reference#captions
更新
由于字幕列表完全取决于 JW Player 的单个设置(正如 Ethan 所说),也许您可以通过 JW Player 的事件调用 $.get()。
var jw = jwplayer("vplayer");
jw.setup({
icons: false,
sources: [
{file: origurl},
{file: origurlsd}
],
tracks: [{
file: "cc_file",
kind: "captions",
'default': true,
label: 'English'
}],
image: origimg,
width: "70%",
aspectratio: "16:9",
abouttext: "...",
aboutlink: "...",
skin: "/res/libraries/jwplayer/skins/target-v6-11/glow.xml"
});
jw.on('captionsList', function(event){
$.get('cc_file', function() {...}
});
jw.on('captionsChanged', function(event){...});