Я пытаюсь использовать mediaelement.js для воспроизведения видео на нашем сайте. мы хотим представить рекламные ролики перед mainvideo. чтобы отслеживать, какое объявление просматривалось сколько раз, я хочу отправить ajax-вызов на свой собственный php-скрипт, когда объявление будет закончено.mediaelement.js: прослушать событие, вызванное mep-feature-ads
Моя проблема в том, что я не могу добавить слушателя к нужному пункту, где mep-feature-ads
функция adsPrerollEnded
запускает функцию обратного вызова:
adsPrerollEnded: function() {
console.log('adsPrerollEnded');
var t = this;
t.container.trigger('mejsprerollended');
t.adRestoreMainMedia();
},
В то время мой код выглядит как:
<script>
$(function() {
$('audio,video').mediaelementplayer({
features: ['playpause','progress','current','duration','volume','fullscreen','ads'],
adsPrerollMediaUrl: '../media/echo-hereweare.mp4',
success: function (mediaElement, domObject) {
// add event listener
mediaElement.addEventListener('mejsprerollended', function(e) {
alert('ad is over, do ajax now');
}, false);
// call the play method
mediaElement.play();
},
});
});
</script>
, но предупреждение никогда не запускается, кроме того, что все остальные функции работают нормально (объявление воспроизводится до mainvideo и никаких элементов управления не доступно во время объявления после объявления, которое запускается mainvideo).
Я думаю, что функция объявления t.container
отличается от mediaElement
в функции успеха.
по некоторым исследованиям с console.log()
Я понял, что t.container
является элементом <div id="mep_0"
. mediaElement
является <video>
тег Похоронен в class=mejs-inner
и class=mejs-mediaelement
Так как я зарегистрировать слушателя mejsprerollended
?