javascript - 当 HTML 中有音频 div 时停止音频播放()
问题描述
我有一个<div onclick="startSound">
HTML。单击时,它会触发声音。如何让它停止第一个声音并在再次单击时播放另一个声音?我发现的大多数解决方案都使用<audio>
HTML 标签,但既然没有,怎么办?
function startSound() {
var musicPlay=new Audio('sound.mp3');
musicPlay.play();
}
解决方案
您应该有一个音频元素,每次单击某个元素时,不要创建新
Audio
组件,而是更改src
现有音频组件的属性。playing
停止处于状态的现有音频sound.pause();sound.currentTime = 0;
会有所帮助。
let myAudio = document.getElementById('myAudio');
function startSound() {
myAudio.pause();
myAudio.currentTime = 0;
myAudio.src = 'sound.mp3';
}
<audio controls id="myAudio">
<source src="anotherSound.mp3" type="audio/mpeg">
</audio>
推荐阅读
- javascript - 使用 useEffect 填充多个下拉数据
- javascript - 如何使用 .map 遍历对象?
- r - 具有一个连续变量和两个分组变量的条形图
- javascript - 检查一个数字的反转是否等于该数字
- node.js - Ubuntu 16.04 无法运行 npm run / install /rebuild
- hive - java.lang.NoClassDefFoundError:org/apache/hbase/thirdparty/com/google/common/cache/CacheLoader
- flutter - 移动到另一个页面后如何隐藏导航栏(颤动)?
- python - 如何使用 numpy 分隔现有数组
- javascript - JavaScript 仅计算选中的复选框
- c# - 如何使用 EF 和 linq 获取具有嵌套信息的实体