我是编码的新手,遇到了一个我找不到解决方案的问题。我正在制作一个小型媒体播放器,我打算将其与我指导的运动员一起使用。我的想法是强制他们听我对他们看的游戏电影的评论。因此,如果音量太低,播放器会暂停。我已经做到了当音量降低到 10% 以下时播放暂停。但是,当按下静音按钮(在默认的 HTML5 媒体播放器中)时,播放不会暂停。
那么静音和 0.0 的音量不一样吗?当我将 slider 一直降至零时(我只能在没有警报的情况下执行此操作,否则在警报触发时它会卡在 0.1),音量/静音按钮显示静音。但我敢肯定那是因为我必须超过事件监听器正在寻找的 0.1 阈值。
我的代码是这样的
video.addEventListener("volumechange", function() {
if (video.volume < 0.1) {
video.pause();
alert('Video Paused: Volume too low');
}
});
无论如何,我打算自定义我的播放器的控件,所以我想我可以很容易地让它与 onclick 事件一起工作,但我觉得这一点困惑值得同时弄清楚。
那么音量 slider 更改是否包含在 volumechange 事件中?或者有没有办法让静音状态被 volumechange 事件监听器识别?或者一种为静音制作单独的方法?(我知道这不是一个事件。)或者我应该把它放在 table 上直到我制作我的自定义控件?
谢谢。
最佳答案
description for the volumechange
event说:
Sent when the audio volume changes (both when the volume is set and when the muted attribute is changed).
假设这是准确的,您的事件处理程序将在静音和取消静音时触发,所以这应该只是使用 muted
的问题if
语句中的属性:
if (video.volume < 0.1 || video.muted) {
// Pause.
}
volume
的值独立于muted
,并且在您静音或取消静音时不会改变。
关于javascript - "muted"和 "volume = 0.0"是一样的吗?事件监听器以不同的方式对待它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38625581/