单击更改源时,检查HTML5音频是否已播放?

时间:2017-11-07 15:05:17

标签: jquery html5 audio

我有一个WIP HTML5音频播放器,可以在20个文件中的任何一个之间切换。

我试图这样做:

  • 如果正在播放音频,则会在切换源
  • 后自动播放
  • 如果音频未播放,则仅加载元数据

到目前为止,我能做到的唯一方法是检查播放/暂停图像src当前是否指向暂停图像。我不希望这个附加到src上,以后可以轻松更改甚至不是图像。

如果我检查audioPlayer.paused,则评估为true,如果在点击之前暂停音频,则开始自动播放,但检查false并不起作用。

我已经尝试过音频事件并且正在玩#39;和'进步'点击更改来源但他们不能工作。时间更新,但它没有开始播放,if语句根本没有发布。

我已经包含了if语句!暂停和.playing只是为了说明它是如何完成的。代码中只使用了一个。

var audioPlayer = $("#main-audio-player").get(0);
$(".artist-row").click(function(){

    var songUrl = $(this).data("surl");
    var artistName = $(this).data("artist-name");
    var songName = $(this).data("song-name");
    var artistImage = $(this).data("artist-image");

    $("#main-audio-player").attr("src", songUrl);
    $("#artist-span").text(artistName);
    $("#song-span").text(songName);
    $("#artist-image").attr("src", artistImage);

    // Doesn't work
    if (audioPlayer.playing) {
      audioPlayer.play();
    } else {
      audioPlayer.load();
    }

    // Also doesn't work?
    if (!audioPlayer.paused) {
      audioPlayer.play();
    } else {
      audioPlayer.load();
    }

});

0 个答案:

没有答案