HTML5视频- onmute和onloop事件

HTML5 video - onmuted and onloop event

本文关键字:onloop 事件 onmute 视频 HTML5      更新时间:2023-09-26

如何检测视频的静音和循环属性的切换?

没有"onmute "或"onloop"事件,不幸的是"onplay"或"onpause"。

对象。观察不起作用。
MutationObserver也不工作

1)您可以使用" volumchange "事件检测muted

video.addEventListener('volumechange', function () {
    console.log('muted', video.muted);
}, false);
// video.onvolumechange = ... works too

2) MutationObserver不工作静音,因为没有属性,但它工作的loop

var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        if (mutation.type === 'attribute' && mutation.attributeName === 'loop') {
            console.log('loop changed', video.loop);
        }
    });
});
observer.observe(video, {
    attributes: true
});

在我的测试中,观察者回调触发是否你设置video.loop = true与Javascript(至少在Chrome和Firefox)或右键单击下拉菜单(不提供在FF,只是Chrome)在视频元素上。