在Javascript中启动和停止音频

时间:2011-02-07 23:17:28

标签: javascript audio

我有一个与onClick事件绑定的函数。它应该播放一首歌。如果有一首歌已经播放,它应该停止当前的歌曲并开始播放新的歌曲。唯一的问题是,据我所知,只有暂停方法,这意味着前一首歌曲将从暂停位置恢复而不是从开头恢复。有没有办法(比如.stop()方法)?

这是我的代码:

var currSong="";

function playSong(newSong){         
        alert(newSong);
        if (newSong != ""){
            if(currSong != "" ) {
                document.getElementById(currSong).pause();
            }           
            document.getElementById(newSong).play();
            currSong = newSong;
        }
}

1 个答案:

答案 0 :(得分:6)

通过查看MDC documentation for the audio element,看来正确的方法是设置currentTime属性:

function playSong(newSong){         
    alert(newSong);
    if (newSong != ""){
        if(currSong != "" ) {
            document.getElementById(currSong).pause();
        }           
        var newSongEl = document.getElementById(newSong);
        newSongEl.currentTime = 0;
        newSongEl.play();
        currSong = newSong;
    }
}

此外,最好将相关元素存储在currSong中,而不是其ID,除非您将ID用于其他内容。