javascript
  • brightcove
  • 2013-09-26 42 views 0 likes 
    0

    我正試圖爲移動設備構建視頻/圖像滑塊,並使用Brightcove來顯示我的視頻。是否可以對Apple設備上的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

    這實際上運行在我的桌面上完美的每個瀏覽器。但只要我在蘋果設備上測試它,它不起作用,因爲Flash對象不再加載,而是一個iFrame。

    回答

    0

    有兩個Brightcove播放器API版本 - 傳統的僅限Flash播放器API和Smart Player API。您正在使用前者,正如您現在所猜測的不適用於HTML播放器。

    This doc on the Brightcove support site將您的代碼從舊代碼重構爲新的播放器API。

    +0

    這實際上是正確的答案,但我發現我無法使用Smart Player API,因爲我們的廣告公司無法爲此生成廣告。 – Schwierig

    +0

    聽起來不尋常。通常,Brightcove視頻廣告合作伙伴通過在播放器中運行插件/翻譯器來工作。即使他們在swf插件中使用Flash-only API,也不排除您也可以在頁面上的js中使用智能播放器API。 – misterben

    +0

    廣告可以正常工作,但由於某些原因,他們不希望我們在Smart Player API中實施廣告。我不知道這背後是否有一些跟蹤原因,或者他們不確定Smart Player API的工作原理。 – Schwierig

    相關問題