1

<audio>当我使用默认控件时,我在处理多个页面时遇到了困难。我还没有深入测试过创建自定义控件。

自定义控件有一个“开始”按钮,该按钮变为“暂停”。好的,可以很好地暂停音频。但是,当您转到页面上的第二个音频控件时,它永远不会在第一个暂停时播放。如果您一直播放第一个,则单击“播放”按钮时将播放第二个。

任何地方都有“停止”功能吗?如果是这样,那将意味着我需要创建一个自定义控件并且我可以做到这一点,但我还没有找到用于实际“停止”第一个播放的事件。此外,在播放第二个音频之前必须暂停然后知道他们还需要按下停止按钮可能真的会让用户感到困惑。

希望我可以使用一个脚本来检查以前的音频是否暂停,然后停止第一个音频或重置它,然后继续播放第二个音频。

有任何想法吗?谢谢,Linda PS 我对 JavaScript 很不满意,所以如果有人帮助编写脚本,我将不胜感激。

4

2 回答 2

1

最后。这行得通。

<script type="text/javascript">
setTimeout(function() {
    var myAudio = document.getElementsByTagName('audio')[0];
    var myAudio1 = document.getElementsByTagName('audio')[1];
    myAudio1.addEventListener('play', function(){
        myAudio.pause();
    }, false);

    myAudio.addEventListener('play', function(){
        myAudio1.pause();
    }, false);
},1000);

于 2010-09-21T15:48:03.987 回答
0

我在移动 Safari 上使用以下代码收到这些错误:INVALID_STATE_ERR: DOM Exception 11 INDEX_SIZE_ERR: DOM Exception 1



setTimeout(function() {
document.getElementById('audio_3').addEventListener('play', function(){
document.getElementById('audio_4').currentTime = 0;
document.getElementById('audio_4').pause();
}, false);

document.getElementById('audio_4').addEventListener('play', function(){
document.getElementById('audio_3').currentTime = 0;
document.getElementById('audio_3').pause();
}, false);
},1000);

于 2010-09-20T16:06:31.533 回答