问题描叙
同一个网页中有多个 audio
标签,多个会同时播放
解决方案
给 audio
绑定 onPlay
事件,事件促发时暂停其他音频的播放
// 多个audio标签
const content = item =>
<audio onPlay={() => this.onPlay(item.audioUrl)} src={item.audioUrl} controls>是时候换个高级点的浏览器了</audio>;
// onPlay方法
onPlay = (src) => {
const audios = document.getElementsByTagName('audio');
Array.prototype.forEach.call(audios, audio => {
if(audio.src !== src) {
audio.pause()
}
})
}
网友评论