鍍金池/ 問答/PHP  HTML/ 如何銷毀一個new audio的對象

如何銷毀一個new audio的對象

現(xiàn)在是

let musicAudio = new aduio()
    play function(){
        if(musicAudio!=null){
          musicAudio.pause();
          musicAudio = null;
        }
        musicAudio = new audio("123.mp3");
        musicAudio.play()
      }

這樣的話如果不寫musicAudio.pause(),就會很多音頻會一起播放,并且我在播放之后 musicAudio = null;發(fā)現(xiàn)音頻還會加載并播放?,F(xiàn)在的問題是,連續(xù)點擊切歌會造成很長時間的一個延遲
會不會是 musicAudio = null;之后音頻文件還會繼續(xù)加載,但是不播放,造成的連續(xù)切歌后的音樂延遲???

回答
編輯回答
焚音

有點晚了。 提問這個問題的時候是準備在做優(yōu)化的。但是當時并沒做。 漏下提出來的使用dom 也不能解決我提出的問題, 在載入src 后 并且進行播放(瀏覽器會對流媒體進行加載),當連續(xù)切換的時候 ,audio 還是會積累很多的請求,所以解決辦法只有限制點擊切歌的點擊次數(shù)

2017年8月21日 07:05
編輯回答
陌璃

通過src切換來控制,切歌時,將src替換為需要播放的地址,這樣就會保持只播放一個音樂文件,不會出現(xiàn)幾個文件同時播放的情況了。
之前寫的一個音樂播放相關的項目https://segmentfault.com/a/11...

2017年5月2日 10:23