我试图通过kaltura中的按钮点击来更改媒体和相应的大量广告。我正在使用kdp.setKDPAttribute(" configProxy.flashvars.vast"," prerollUrl",$(this).attr(' preroll')) ;为媒体设置庞大的预卷网址。我使用的媒体文件是网址类型。我在kWidget.addReadyCallback(function(videoId)中添加了setkdpaddtibute,我在那里执行kdp.sendNotification(" changeMedia",{' entryId':$(this).attr (' data-entryId')});
<script type="text/javascript">
kWidget.addReadyCallback(function(videoId){
// add a local ref to the kdp:
var kdp = document.getElementById( videoId );
$( '.changeMedia' ).click(function(){
kdp.setKDPAttribute("configProxy.flashvars.vast","prerollUrl",$(this).attr('preroll'));
kdp.sendNotification( "changeMedia", { 'entryId' : $(this).attr('data-entryId') });
});
// change media run at the start of the changeMedia sequence
kdp.kBind('changeMedia', function(data){
if( data.entryId ){
$("#changeLog").append( "EntryId: " + data.entryId + "\n");
}
})
// entry ready is run once the entry data has been loaded
kdp.kBind('entryReady', function(){
$("#changeLog").append( " Name: " + kdp.evaluate('{mediaProxy.entry.name}') + "\n" );
})
});
我使用以下按钮
我指定了以下大量参数以及播放器
<script>
kWidget.embed( 'kaltura_player', {
'wid' : '_1748561',
'uiconf_id': '24326282',
'flashvars': {
'sourceType':'url',
'autoPlay': 'true',
"adsOnReplay" : true,
"vast": {
"numPreroll" : "1",
"skipBtn" : "skip",
"skipOffset" : "5",
"prerollStartWith" : "",
"preSequence" : "1",
"prerollUrl":"",
"storeSession" : false,
"unescapeAdUrls" : false,
"timeout":"10"
}
}
});
</script>
当我加载页面时,广告不会播放。仅播放视频文件。此外,kaltura播放器正在向我的服务器发送http://myserver.com/serverip请求。玩家对服务器的期望是什么? 谢谢 phani
答案 0 :(得分:1)
您可以在不重新嵌入播放器的情况下执行此操作,只需重新加载媒体即可。方法如下:
var entryId = kdp.evaluate('{mediaProxy.entry.id}');
var prerollUrl = 'your smashingly fancy new url';
kdp.sendNotification('cleanMedia');
kdp.setKDPAttribute("vast", "preSequence", 1);
kdp.setKDPAttribute("vast", "prerollUrl", prerollUrl);
kdp.sendNotification('changeMedia', {
'entryId': entryId
});
答案 1 :(得分:0)
庞大的插件不支持动态切换网址。 我的建议是在你想要更改网址的任何时候重新嵌入播放器。 kWidget.destroy(..)然后是kWidget.embed({.. new preroll url ..})