6

我到处都是(我认为),似乎找不到在 html5 音频控制器中调用停止事件的方法。我的音频控制器有一个播放列表,其中每个曲目将在选择时播放或循环播放每个曲目到下一个曲目。还有一个可以使用的下一步按钮。

我的播放/暂停按钮如下所示:

function playPause() {
    var audioPlayer = document.getElementsByTagName('audio')[0];
    if(audioPlayer!=undefined) {
        if (audioPlayer.paused) {
            audioPlayer.play();
        } else {
            audioPlayer.pause();
        }
    } else {
        loadPlayer();
    }
}

我需要一个“停止”按钮来停止音频并返回到当前正在播放的曲目的开头。我想过以某种方式使用当前的播放位置,但无法理解。

我也试过这个(根据另一个问题的建议改编),但无济于事:

function stop() {
    var audioPlayer = document.getElementsByTagName('audio');
    addEventListener('loadedmetadata', function() {
        this.currentTime = 0;
    }, false);
}

有任何想法吗?

4

3 回答 3

9

如果您的播放/暂停工作正常,这应该适用于停止:

function stop() {
    var audioPlayer = document.getElementsByTagName('audio')[0];
    audioPlayer.pause();
    audioPlayer.currentTime = 0;
}
于 2012-05-18T13:52:53.700 回答
2

这是一个小演示代码,您可以在其中播放、暂停和停止音频。

现场演示

HTML

<input type="button" value="play" id="playBtn" />
<input type="button" value="pause" id="pauseBtn" />
<input type="button" value="stop" id="stopBtn" />

jQuery

var source = "http://www.giorgiosardo.com/HTML5/audio/audio/sample.mp3"
var audio = document.createElement("audio");
audio.src = source;

$("#playBtn").click(function () {
    audio.play();
});

$("#pauseBtn").click(function () {
    audio.pause();
});

$("#stopBtn").click(function () {
    audio.pause();
    audio.currentTime = 0;
});

来源

于 2013-01-30T17:22:22.730 回答
0

如果要停止音乐并中止下载操作,可以使用以下代码:

<button id="btnStop" onclick="player.src = ''; player.src = 'song.mp3';">Stop</button>

我们这里是用java改歌曲src然后放回去!棘手但工作

于 2014-06-06T14:02:39.373 回答