如何切换dom音频元素
How to toggle a dom audio element
我是Javascript新手,我正试图让用户通过按下按钮来切换所有声音。我已经创建了切换音频的函数:
function playPause(id){
soundElement = document.getElementById(id);
if (soundElement.pause) {
soundElement.play();
}
else
soundElement.pause();
}
然后按下键的代码:
if (keys.hasOwnProperty(77)){
soundElement.playPause();
}
我有几个音频片段在soundElement中运行。我是否需要循环遍历所有的soundElement来允许用户静音所有的音频,或者是否有一种方法可以暂停所有的soundElement而不必循环每个id?
您可以使用querySelectorAll()
:
var audioElements = document.querySelectorAll("audio");
然后逐个迭代并切换状态,例如:
var i = 0, el;
while(el = audioElements[i++]) playPause(el);
function playPause(soundElement) {
if (soundElement.paused) {
soundElement.play();
}
else
soundElement.pause();
}
检查暂停状态使用paused
而不是pause
(后者是一个方法)。
请注意,不能保证音频正在播放/已加载等,因此需要进行一些错误检查以使此工作完美。
相关文章:
- 调整<音频>元素
- 未能加载,因为找不到支持的源.当播放HTML5音频元素时
- <的自定义进度条;音频>并且<进度>HTML5元素
- javascript函数包含两个元素和web音频api
- 如何在音频元素上使用React媒体合成事件监听器
- 第一次未播放HTML音频元素
- 正在尝试在HTML5中添加音频元素
- 音频HTML5检查所有音频元素是否已完全加载
- 使用现代化检测音频元素
- 当音频元素暂停时,AnalyserNode会继续发送数据
- 从音频元素获取音频样本
- 如何从音频上下文元素收集时间值
- 如何在页面上播放每个音频元素(HTML,JQuery,Javascript)
- 媒体记录器 API 通过 Web 音频 API(不是音频元素)播放
- HTML5 音频元素 - 某些 Android 浏览器错误报告的曲目长度
- HTML5 音频元素发送 2 次 http get 请求
- 当 HTML5 音频元素播放了一定百分比时运行函数
- 媒体元素 - 动态加载音频
- 如何让Chrome和/或Firefox在Karma测试中播放<音频>元素
- 是否可以使用WebAudioApi对HTML5视频元素音频输出进行后期处理