我想知道是否有可能确定页面上音轨(而不是设备)的当前音量。
我的页面上有一个音频播放器,用户可以设置音量,我的问题是如何获取JavaScript以检测音量的变化并在音量变化时做些什么?
例如,在音量过高或过低时创建一个弹出窗口。
注意::我是JavaScript的初学者,所以请多加注意。
答案 0 :(得分:0)
您可以通过HTML onvolumechange
事件或使用以下命令来执行此操作:
addEventListener('volumechange', () => {
// do stuff...
}) ;
我对the API并不太熟悉,尽管我想如果您记录该事件,则会发现可以作为函数基础的卷的值。
答案 1 :(得分:0)
audio
元素是一个HTMLAudioElement
,它扩展了HTMLMediaElement
接口,该接口具有一个volumechange
事件,您可以按照通常的方式进行钩接(addEventListener
等)。
答案 2 :(得分:0)
这是一个简单的<audio>
元素,其类名为player
:
<audio class="player" controls="true">
<source src="path/to/audio/track.mp3" type="audio/mpeg" />
<source src="path/to/audio/track.ogg" type="audio/ogg" />
<source src="path/to/audio/track.wav" type="audio/wav" />
<p class="fallback">ERROR: Your browser doesn't HTML5 audio.</p>
</audio>
然后,您将为volumechange
事件创建一个事件侦听器,并将其绑定到上面的<audio>
元素,如下所示:
const PLAYER = document.querySelector("audio.player");
PLAYER.addEventListener("volumechange", () => {
console.log("The volume has changed.");
});
我不确定您是否使用jQuery
,但是如果您使用的话,可以改用以下代码:
$("audio.player").on("volumechange", () => {
console.log("The volume has changed.");
});
注意::controls
属性指定您希望音频播放器的控件(播放,暂停,停止,音量等)可见。
如果您想隐藏控件和/或创建自己的自定义控件,则必须删除controls
属性并使用CSS隐藏音频播放器:
audio.player {
display: none !important;
}
祝你好运。