我正在使用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」更改爲您的目的。 –
順便說一句 - 對不起,成爲這樣一位獵頭者 - 但是你可以通過任何一個機會來接受或接受我的回答嗎?我會很感激:) –