Kaltura 风味转换
Kaltura Flavor Switching
我目前正在使用 Kaltura HTML5 Player 版本。 2.26. documentation 建议您可以通过 "doSwitch" 通知在视频风格之间切换,如下所示:
kdp.sendNotification("doSwitch", { flavorIndex: 3 });
根据 kdp.evaluate("{mediaProxy.kalturaMediaFlavorArray}")
,我使用的视频有 6 种不同的风格,但是 运行 这与各种不同的索引没有明显的效果。我希望看到 kdp
触发 switchingChangeStarted
事件,就像使用源选择器插件 UI 时发生的那样,但只有沉默。
通过 github repo 搜索 doSwitch
,我实际上没有看到它在任何地方实施。这是某种遗失的方法吗?如果没有,我如何让 doSwitch
通知生效?
KDP 是 Kaltura Flash 播放器,它具有此切换比特率的通知。
当加载 chromeless flash 播放器并单击源选择器按钮时,该通知仍在内部使用。但它看起来不像是V2播放器通知。
您可以通过添加一个新插件来扩展播放器,该插件将公开这样一个通知,该通知将切换源,类似于源选择器的操作方式 (sourceSelector.js::208):
_this.getPlayer().switchSrc( source )
请注意,来源列表可能包含无法在桌面上播放的来源,您不应使用这些来源进行切换。
为了后代,这就是我最终按照 Roman 的建议所做的事情。下面的插件几乎是最低限度的,但这正是我想要的。
在嵌入中,我们需要声明自定义插件:
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
我目前正在使用 Kaltura HTML5 Player 版本。 2.26. documentation 建议您可以通过 "doSwitch" 通知在视频风格之间切换,如下所示:
kdp.sendNotification("doSwitch", { flavorIndex: 3 });
根据 kdp.evaluate("{mediaProxy.kalturaMediaFlavorArray}")
,我使用的视频有 6 种不同的风格,但是 运行 这与各种不同的索引没有明显的效果。我希望看到 kdp
触发 switchingChangeStarted
事件,就像使用源选择器插件 UI 时发生的那样,但只有沉默。
通过 github repo 搜索 doSwitch
,我实际上没有看到它在任何地方实施。这是某种遗失的方法吗?如果没有,我如何让 doSwitch
通知生效?
KDP 是 Kaltura Flash 播放器,它具有此切换比特率的通知。 当加载 chromeless flash 播放器并单击源选择器按钮时,该通知仍在内部使用。但它看起来不像是V2播放器通知。
您可以通过添加一个新插件来扩展播放器,该插件将公开这样一个通知,该通知将切换源,类似于源选择器的操作方式 (sourceSelector.js::208):
_this.getPlayer().switchSrc( source )
请注意,来源列表可能包含无法在桌面上播放的来源,您不应使用这些来源进行切换。
为了后代,这就是我最终按照 Roman 的建议所做的事情。下面的插件几乎是最低限度的,但这正是我想要的。
在嵌入中,我们需要声明自定义插件:
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