我正在使用videojs-playlist插件以及Google的videojs-ima插件。除了我只在第一个视频之前收到预加载广告之外,一切都可以顺利进行。我想在播放列表中的每个视频之前。 基本设置为样板,但供参考:VIDEOJS:在每个播放列表项目前播放前贴片添加
this.player = videojs('currentvideo', { autoplay : true, fluid : true });
this.player.playlist(this.playlist);
this.player.playlist.autoadvance(5);
const skippable_linear = {google's test ad};
const options = {
id: 'currentvideo',
adTagUrl: skippable_linear,
debug : true
};
this.player.ima(
options
);
this.player.ima.requestAds();
我试图从一个“结束”事件处理中手动调用广告的各种方式,如再次调用requestAds
:
const _this = this;
this.player.on('ended', function(){
/* some other stuff */
_this.player.ima.requestAds();
});
这播放广告,我想要它,但
- 这打破播放列表的'autoadvance'设置(下一个视频doesn'当广告结束时开始播放),并且
- 这使得播放器进入“广告显示”模式(洗涤器不可用等)。
是否有一种简单的方式来通过编程方式说“现在播放广告”?我已经尝试过,没有快乐,使用ima插件和它所依赖的contrib-ads插件公开的所有看似适用的方法。我会在这里承认,这是我第一次不得不处理播放广告的视频,所以我是一个小菜鸟。
哦,这看起来很有希望!我最终创建了自己的播放列表(放弃播放列表插件),并在每个视频后调用this.player.dispose(),然后重新创建播放器。将看这个。我的解决方案是不理想的。 – axlotl
老实说,我认为最好是编写自己的播放列表。最好的方法是分叉videojs-playlist,并将“next”和“prev”更改为您的目的。 –
顺便说一句 - 对不起,成为这样一位猎头者 - 但是你可以通过任何一个机会来接受或接受我的回答吗?我会很感激:) –