簡體   English   中英

HTML5音頻/ jQuery

[英]HTML5 audio/jQuery

開始進行一些研究,以便為網站創建一個非常簡單的媒體部分,但我似乎遇到了一些問題。 我將盡我所能解釋。

我有一個由“鏈接”(li元素atm)組成的“播放列表”,該列表利用aJax / PHP將數據提取並加載到音頻元素中。 我可以很好地提取數據,那里沒有問題。

但是,當用戶選擇“曲目”時,就會出現我的問題。

預期的歌曲播放沒有問題,但是,如果用戶選擇同一首歌曲或另一首歌曲,則第一首“曲目”會繼續播放,而“新選擇的”曲目會開始播放。 我基本上可以同時播放10多個曲目,這很煩人。

我試圖停止播放第一首歌曲-我銷毀音頻標簽或其他方法-並在用戶選擇其他“曲目”時播放較新選擇的歌曲

我想我可能會理解問題,我會不斷創建音頻元素的新實例,而不會破壞初始實例。 因此,我們想知道尋找音頻的任何先前出現的最佳方法,並在檢測到該音頻時銷毀該實例並創建一個新實例。

以下是我正在測試的一些代碼,當前,一旦aJax回調=成功,此腳本就會運行。

--COMMENTS下面的代碼在jQuery音頻中= HTML5音頻實例arydata =包含來自PHP腳本的數據的數組--COMMENTS

我在想,我需要在運行以下代碼之前添加一些代碼,以驗證是否有任何現有的音頻元素,但是我不確定這是否是最佳方法。

var audio = new Audio();
audio.src = arydata[1] + ".mp3";
audio.load();
audio.play();

讓我知道是否還有其他需要。

找到了解決方案。

每當用戶選擇曲目時,我都會錯誤地創建一個新的Audio實例。

因此,為了解決此問題,我改為在腳本加載時創建了Audio實例。 然后,一旦用戶選擇了一個曲目,我便找到Audio實例並將數據加載到該實例。

下面是代碼。

    var audio = new Audio();

$("#media_player_playlist_wrapper li").click(function(){
    var player = $(audio).get(0);
    player.src = filepath;
    player.load();
    player.play();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM