我想写一个js控制audio标签的播放

qq_30060403 2015-07-23 03:58:27
效果是这样的,一个页面有多个audio,但是我只想让页面里有一个播放,意思就是说,当有一个在播放时,我去点另外一个的时候,那一个会暂停,然后我点当前的这个的时候,当前的暂停
...全文
401 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
白狼水 2015-07-24
  • 打赏
  • 举报
回复
楼上的思想挺不错的。建议采纳试试。这个功能其实不难,实现方法有很多。html5的audio标签有播放和暂停两个事件可用。只要做到点击一个 暂停其它的就行了。最简单的方法就是。点击时先暂停或停止所有,然后在播放点击这个 就可以了。
qq_30060403 2015-07-24
  • 打赏
  • 举报
回复
大神,赞一个
天际的海浪 2015-07-23
  • 打赏
  • 举报
回复

<audio src="1.mp3" controls="controls"></audio>
<audio src="2.mp3" controls="controls"></audio>
<audio src="3.mp3" controls="controls"></audio>
<script type="text/javascript">
var audio = document.getElementsByTagName("audio");
for(var i=0, l = audio.length; i<l; i++)
{
	audio[i].addEventListener("play", function(){
		for(var i=0, l = audio.length; i<l; i++)
			if (audio[i]!=this)
				audio[i].pause();
	});
}
</script>

qq_30060403 2015-07-23
  • 打赏
  • 举报
回复
并不是这样的啊,大哥
  • 打赏
  • 举报
回复

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> 音乐</title>


</head>

<body> 
<audio src="b.mp3" controls="controls" preload id="music1" hidden>
</audio>
<span id="bf" onclick="bf();">播放/暂停</span>
<span id="bf" onclick="rbf();">重新播放</span>

<script>
function rbf(){
 var audio = document.getElementById('music1'); 
 audio.currentTime = 0;
}
function bf(){
 var audio = document.getElementById('music1'); 
 if(audio!==null){             
    //检测播放是否已暂停.audio.paused 在播放器播放时返回false.
     alert(audio.paused);
  if(audio.paused)                     {                 
      audio.play();//audio.play();// 这个就是播放  
  }else{
   audio.pause();// 这个就是暂停
  }
 } 
}
   
</script>

</body>
</html>
这有个js控制暂停开始的,其他的只要有思路应该不难

87,885

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧