如何一键切换音频播放/暂停
Posted
技术标签:
【中文标题】如何一键切换音频播放/暂停【英文标题】:How to toggle audio play/pause with one button 【发布时间】:2018-05-03 11:02:10 【问题描述】:我以前从未真正使用过 javascript,但我尝试在谷歌上搜索如何为音频制作播放/暂停按钮的解决方案 - 我发现在这个网站上似乎是一个很好且简单的解决方案: How to toggle audio play() pause() with one button or link? (PS。我没有足够的声誉来评论 Iceman 的解决方案并直接问他可能出了什么问题 - 如果可以的话,我会的。)
但是,当我将代码 sn-ps 粘贴到我的文档中时,什么也没有发生(生成的文本不可点击)。 你们中的一些人可以看看并告诉我我做错了什么吗?这很可能是愚蠢的,但我自己看不到。
Index.html 到目前为止:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Ukendt Navn ...</title>
<script>
var myAudio = document.getElementById("myAudio");
var isPlaying = false;
function togglePlay()
if (isPlaying)
myAudio.pause()
else
myAudio.play();
;
myAudio.onplaying = function()
isPlaying = true;
;
myAudio.onpause = function()
isPlaying = false;
;
</script>
<style type="text/css">
#content
border: 1px solid blue;
margin: auto;
max-width: 20vw;
margin-top: 30vw;
color: black;
</style>
</head>
<body>
<div id="content">
<audio id="myAudio" src="birds.mp3" preload="auto"></audio>
<a onClick="togglePlay()">Click here to hear.</a>
</div>
</body>
</html>
我的测试站点:http://wyrdling.com/other/ukendtnavn/
【问题讨论】:
How to toggle audio play() pause() with one button or link?的可能重复 @Nikola Lukic 不,不完全(正如上面帖子中已经解释的那样,我无法评论建议帖子中的解决方案 - 并且写一个“答案”来提出问题只是没有看起来也不错)。 好的,很抱歉 - 标记已删除。 【参考方案1】:您试图在元素加载之前调用document.getElementById("myAudio")
,因此您可以在页面完全加载后调用它,或者将脚本放在body
标签的末尾之前。
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Ukendt Navn ...</title>
<script>
window.addEventListener('load', function()
var myAudio = document.getElementById("myAudio");
myAudio.onplaying = function()
isPlaying = true;
;
myAudio.onpause = function()
isPlaying = false;
;
);
var isPlaying = false;
function togglePlay()
if (isPlaying)
myAudio.pause()
else
myAudio.play();
</script>
<style type="text/css">
#content
border: 1px solid blue;
margin: auto;
max-width: 20vw;
margin-top: 30vw;
color: black;
</style>
</head>
<body>
<div id="content">
<audio id="myAudio" src="http://wyrdling.com/other/ukendtnavn/birds.mp3" preload="auto"></audio>
<a onClick="togglePlay()">Click here to hear.</a>
</div>
</body>
</html>
【讨论】:
以上是关于如何一键切换音频播放/暂停的主要内容,如果未能解决你的问题,请参考以下文章