在此处回答了一个类似的问题,即关于带文本链接的单个音频文件。我需要知道如何在同一个网页上播放音频文件列表,每个人只使用“监听”文本链接作为播放按钮,在播放时更改为“暂停”链接。这里是我用来让一个文件工作的代码。问题是,当我简单地使用其他音频的不同id标签复制/粘贴相同的代码时,它不起作用。无论我按哪个链接,它都播放一个文件。我的代码如下所示:使用文本链接播放多个音频文件
<audio id="clip1" preload='auto'>
<source src='audio/clip1.mp3' type='audio/mp3' />
</audio>
<audio id="clip2" preload='auto'>
<source src='audio/door.mp3' type='audio/mp3' />
</audio>
<a href="javascript:null()" id="door-control">Listen</a>
<a href="javascript:null()" id="bridge-control">Listen</a>
<script type="text/javascript">
var yourAudio = document.getElementById('bridge'),
ctrl = document.getElementById('bridge-control');
ctrl.onclick = function() {
// Update the Button
var pause = ctrl.innerHTML === 'Pause';
ctrl.innerHTML = pause ? 'Listen' : 'Pause';
// Update the Audio
var method = pause ? 'pause' : 'play';
yourAudio[method]();
// Prevent Default Action
return false;
};
</script>
<script type="text/javascript">
var yourAudio = document.getElementById('door'),
ctrl = document.getElementById('door-control');
ctrl.onclick = function() {
// Update the Button
var pause = ctrl.innerHTML === 'Pause';
ctrl.innerHTML = pause ? 'Listen' : 'Pause';
// Update the Audio
var method = pause ? 'pause' : 'play';
yourAudio[method]();
// Prevent Default Action
return false;
};
</script>
所以一个链接播放文件就好了,但另一个链接没有。它扮演第一个好像它是第一个链接。任何解决方案,让我可以让他们只播放相应的音频文件,并在开始时暂停其他播放?谢谢!
因为在这两种脚本您正在使用的名字'ctrl'两者的链接,当你他们使用的匿名函数'ctrl',所以每个功能将使用什么是CTRL设置为最后的 –
这是因为你定义了全局变量'yourAudio'和'ctrl'两次。 –
请参阅[fiddle](http://jsfiddle.net/CTZMp/)进行更正 – linstantnoodles