2015-02-05 41 views
0

我目前在使用Kaltura HTML5 Player ver。 2.26。該documentation建議您可以將視頻口味之間通過「doSwitch」通知,切換就像這樣:Kaltura風味切換

kdp.sendNotification("doSwitch", { flavorIndex: 3 }); 

我使用必須根據kdp.evaluate("{mediaProxy.kalturaMediaFlavorArray}") 6種不同口味的視頻,但有各種不同的指數運行這沒有任何明顯的影響。我期望看到kdp觸發了一個switchingChangeStarted事件,就像在使用源選擇器插件UI時發生的情況一樣,但這只是沉默。

github repo中搜索doSwitch,實際上我沒有看到它在任何地方實現。這是一種遺失遺物嗎?如果不是,我怎樣才能讓doSwitch通知起作用?

回答

0

KDP是Kaltura Flash播放器,它具有切換比特率的通知。 當無鉻flash播放器加載並且單擊源選擇器按鈕時,通知仍在內部使用。但它看起來不像V2播放器通知。

你可以通過添加新的插件,會暴露出這樣的通知擴展播放器的源選擇如何做(sourceSelector.js :: 208),將切換類似來源:

_this.getPlayer().switchSrc(source) 

請注意,源列表可能包含在桌面上無法播放的來源,因此您不應將其用於切換。

+0

謝謝,羅馬,這讓我走下了正確的道路! – 2015-02-10 15:28:59

0

爲了後代的緣故,我按照羅曼的建議做了最後的工作。下面的插件幾乎是最低限度的,但這正是我想要的。

在嵌入,我們需要聲明的自定義插件:

kWidget.embed({ 
    ... 
    "flashvars": { 
    ... 
    "sourceExposure": { 
     "plugin": true, 
     "iframeHTML5Js": "js/sourceExposure.js" 
    } 
    } 
} 

js/sourceExposure.js,我們需要聲明一個插件,提供了自定義事件(在這裏,「customDoSwitch」)的響應:

(function(mw,$) { 
    mw.kalturaPluginWrapper(function() { 
    mw.PluginManager.add('sourceExposure', mw.KBaseComponent.extend({ 

     setup: function() { 
     var _this = this; 

     this.bind('customDoSwitch', function(evt, flavorIndex) { 
      var sources = _this.getSources().slice(0) 
      if (flavorIndex >= sources.length) { 
      _this.log("Flavor Index too large."); 
      return; 
      } 
      _this.getPlayer.switchSrc(_this.getSources()[flavorIndex]); 
     }) 
     }, 

     getSources: function() { 
     return this.getPlayer().getSources() 
     } 
    })); 
    }); 
})(window.mw, window.jQuery) 

當我們要切換到不同的風味,現在我們可以使用自定義事件,並通過香味指標:

kdp.sendNotification("customDoSwitch", 2) //switches to flavor index 2