我正在尝试为移动设备制作视频/图像滑块,我正在使用Brightcove来显示我的视频。
虽然由于Brightcove版本的限制,我在播放视频后很难让我的滑块工作,因为我删除了我的叠加层并且Brightcove插入了一个禁用了几乎所有触摸事件的Iframe(这些都被处理了)通过hammer.js)。
让我告诉你我的代码:
滑块加价:
<div id="wrapper">
<div class='slide'>
//Brightcove Player get's inserted here. Images are displayed via background
</div>
<div class='slideprevious'>
</div>
<div class='slidefollowing'>
</div>
</div>
Brightcove初始化:
var addVideo = function(){
$('.slide').append('<div id="tsVideoPlayer"></div>');
tsCreatePlayer('tsVideoPlayer', slides.eq(num).data('video-id'), 'XXXXXXXX');
if(typeof bcPlayer === 'undefined'){
$.when(
//asynchronous loading of JS
$.getScript( "http://admin.brightcove.com/js/BrightcoveExperiences_all.js" ),
$.getScript( "/xxx/xxx/brightcove_video.js" ),
$.Deferred(function( deferred ){
$( deferred.resolve );
})
).done(function(){
addVideo();
});
} else {
addVideo();
}
事件处理:
function getPlayerId(data) {
for (var prop in data)
return prop;
}
var player = bcPlayer.getExperience(getPlayerId(bcPlayer.experienceObjects)).modules.videoPlayer;
player.addEventListener(BCMediaEvent.PLAY, onPlayEventFired);
player.addEventListener(BCMediaEvent.STOP, onStopEventFired);
function onPlayEventFired() {
alert("play");
}
function onStopEventFired() {
alert("stop");
}
brightcove_video.js:http://pastebin.com/fTL5Uhqc
这实际上可以在我的桌面上在每个浏览器中完美运行。但是,只要我在Apple设备上测试它就不起作用,因为Flash对象不再被加载,而是iFrame。
答案 0 :(得分:0)
有两个Brightcove播放器API版本 - 传统的Flash专用播放器API和Smart Player API。您正在使用前者,因为您现在已经猜到它与HTML播放器不兼容。
This doc on the Brightcove support site详细说明了从旧玩家API到新玩家API的重构代码。