我想将返回的ajax请求对象推送到JWplayer 7多源对象,返回的ajax请求在控制台中如下所示(console.log
):
Object {sd_src: Object, hd_src: Object}
并且 sd_src 和 hd_src 对象包含 (console.log
):
Object file: "videofile.mp4" label: "HD" sd_src: Object{the same first obj}
我创建空对象dataSources = [];
以在for in循环中将视频源推送到它
然后我创建一个 for in 循环来获取对象属性并将它们推送到 dataSources
,如下所示:
for (var p in ReturnData.srcs) {
if( ReturnData.srcs.hasOwnProperty(p) ) {
dataSources.push( ReturnData.srcs[p] );
}
}
最后一次我创建了 JWplayer 7 设置:
jwplayer.key="myjwplayer.key";
var playerInstance = jwplayer("dv-watchvideo");
var dvPlayer = playerInstance.setup({
sources : **dataSources** ,
image: '',
width: 558,
height: 360,
type: 'mp4',
primary: "flash",
startparam: ReturnData.startparam,
skin: {
url: "thin.min.css",
name: "thin",
}
});
Note : the var dataSources between two stars
另一个问题是,即使当我尝试在控制台中记录 var 时,将对象推送到 dataSources 中,也总是返回带有未定义键的对象,但是当我删除 jwplayer 设置时,dataSources 推送工作!
working codepen exemple but when i use ajax to return data will not work. if my method is wrong , is there any other way to do this ?
最佳答案
根据我之前评论中的建议,我对您的语法进行了一些更改。尝试将您的 ajax 源添加到此笔:
http://codepen.io/simsketch/pen/KVMVKe
代码摘录:
jwplayer("player").setup({
playlist: [{
sources : dataSources
}],
image: '',
...
我认为您的主要错误是没有添加播放列表包装,如下所述: https://support.jwplayer.com/customer/portal/articles/1710454-configuring-multiple-sources
关于javascript - 将视频源对象推送到 Jwplayer Multiple Sources 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34387891/