使用kaltura中的媒体动态更改大量广告

时间:2014-06-03 16:46:57

标签: javascript kaltura vast

我试图通过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

2 个答案:

答案 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 ..})