我正在使用 videojs-playlist 插件和 Google 的 videojs-ima 插件。除了我在第一个视频之前只收到一个预加载广告之外,一切都很顺利。我想要一个在播放列表中的每个视频之前。基本设置是样板文件,但仅供参考:
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();
});
这确实会在我想要的地方播放广告,但是
- 这会破坏播放列表的“自动前进”设置(广告结束后下一个视频不会开始播放),并且
- 这会使播放器进入“广告显示”模式(洗涤器不可用等)。
有没有一种简单的方法可以以编程方式说“现在播放广告”?我已经尝试使用 ima 插件和它所依赖的 contrib-ads 插件所公开的所有看似适用的方法,但并不高兴。我在这里承认这是我第一次不得不处理运行广告的视频,所以我有点菜鸟。