【问题标题】:Audio Player to stop playing when new song is clicked单击新歌曲时音频播放器停止播放
【发布时间】:2014-12-11 10:12:47
【问题描述】:

我正在使用 jquery、handlebars、html5 制作一个简单的网络音频播放器。单击第一个链接时,我的播放器可以工作,但是如果单击另一个歌曲链接,则原始链接会继续播放,让它播放另一首歌曲的唯一方法是刷新页面。我希望它停止播放初始歌曲并开始播放已单击的新歌曲。我试图把它放到一个 jsfiddle 中,但不能让它全部工作,所以我把它放到网上

Here

我知道它现在看起来很糟糕,我只是想在进一步设计之前让它工作。任何帮助表示赞赏。谢谢!

【问题讨论】:

    标签: jquery html audio handlebars.js


    【解决方案1】:

    终于找到了我自己问题的答案。两行愚蠢的代码。我的失败并没有告诉它加载它。

     audioPlayerDiv.src=songInfo.source;
     audioPlayerDiv.load();
    

    【讨论】:

      【解决方案2】:

      当点击一首新歌时,您应该更改 src:
      给源标签一个 id。
      <source src="media/1.mp3" type="audio/wav" id="audioSource">

      function change(songURL) { //called when a song link is clicked.
        var player = document.getElementById("audioPlayer");
        var source = document.getElementById("audioSource");
      
        if(source.src != songURL) {
          //set the players src to the new song
          source.src = songURL;
          player.load();
          player.play();
        }
      }
      

      类似的东西

      【讨论】:

      • 谢谢,我现在在搞这个。难道不是在某种 if 语句中查看玩家是否已经开始了吗?我可能会走得很远。我对这些东西很陌生
      • 没错,你应该检查一下播放器的src是不是播放的src。
      • 它让我前进。我认为如果我知道如何正确检测玩家是否在玩,它会起作用。你知道我会如何检测到吗?
      • 这有关系吗?如果它没有播放,单击将开始播放歌曲。如果它正在播放,它会改变歌曲。
      • 可能不是,只是混淆了。按照我目前的方式,我不得不将你的函数放在我的 document.ready 函数之外,而且由于所有这些模板的东西,我很难获得“源”。
      猜你喜欢
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多