javascript - mediaelement.js:监听从 mep-feature-ads 触发的事件

标签 javascript mediaelement.js

我正在尝试使用 mediaelement.js 在我们的网站上播放视频。我们想在主视频之前展示广告视频。要跟踪哪个广告被查看了多少次,我想在广告结束时向我的自定义 php 脚本发送一个 ajax 调用。

我的问题是,我无法将监听器添加到 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>

但是永远不会触发警报,除此之外所有其他功能都可以正常工作(广告在主视频之前播放,并且在广告期间没有控件可用,在广告主视频开始之后)。

我认为 t.container来自广告功能与 mediaElement 不同在成功函数中。

关于 console.log() 的一些研究我想通了,t.container<div id="mep_0"元素。 mediaElement<video>标签埋在 class=mejs-innerclass=mejs-mediaelement

那么我如何在 mejsprerollended 上注册一个监听器呢? ?

最佳答案

我自己想通了:

mejs 正在使用 jquery .trigger 函数,所以我必须使用 jquery eventlistener-register-function .on:

var player = new MediaElementPlayer('#video',{
    features: ['playpause','progress','current','duration','volume','fullscreen','ads'],
    adsPrerollMediaUrl: '../media/echo-hereweare.mp4',
});
player.container.on('mejsprerollended',function(e){
    alert('ad is over!');
});

关于javascript - mediaelement.js:监听从 mep-feature-ads 触发的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25613961/

相关文章:

javascript - 统计ajax返回数据中的html元素数量

javascript - 在 vuetify 中管理 vuelidate 验证

Javascript 游戏出问题了?

javascript - MediaElement.js - 如何动态调整视频大小?

mediaelement.js - 多个音频播放器不工作 mediaelement.js

javascript - 如何观察 Backbone 中的变量变化

javascript - 在 Cordova 项目中更改本地主机的端口号

wordpress - 如何编辑默认音量?

javascript - MEJS 在 setSrc() 之后忽略预加载标签

mediaelement.js - mediaelementjs播放器按钮消失了?