簡體   English   中英

Javascript:如何加載更新的音頻文件並播放

[英]Javascript: How to load updated audio file and play it

我正在嘗試播放一個音頻文件,到目前為止,我可以通過以下方式做到這一點:

a = new Audio("audio.mp3");
a.load();
a.play();

但是播放完之后,我想做的就是用相同的名稱創建新的音頻文件。 現在,再次單擊一個按鈕並運行此功能以播放音頻時,它將播放先前的文件輸出而不是新的文件。 因此,如何重新上傳具有相同名稱的相同文件,以便生成新的音頻。

謝謝

由於瀏覽器緩存而使您始終獲得相同音頻文件的原因,由於瀏覽器名稱相同,因此它們假定兩個文件相同。 為防止這種情況,您可以在文件名后附加一個隨機查詢字符串,以便瀏覽器每次都認為您有一個新文件。 但這不利的一面是您的用戶每次都必須下載音頻文件,這可能會減慢您的用戶的加載時間。

a = new Audio("audio.mp3?random=" + new Date().getTime());
a.load();
a.play();

如果您有權訪問上傳時間,則可以附加該日期時間,而不是隨機日期時間,至少這會強制瀏覽器每次上傳僅下載一次文件。

a = new Audio("audio.mp3?random=" + uploadDate.getTime());
a.load();
a.play();

在情況(另一個名字,甚至也許,在同一個對象)來加載具有相同名稱的另一個文件,你需要刪除以前的對象! a.remove()將達到目的:

a = new Audio('a.mp3');
    a.load();
    a.play();
    setTimeout(function(){a.pause();a.remove();a.load('a.mp3');a.play();},10000);

上面的代碼加載a.mp3播放10秒鍾。 10秒后,它將再次加載a.mp3,其中包含該文件中包含的內容。

您需要足夠快的速度在10秒內:D替換具有相同名稱的音頻文件(或者只是增加超時秒數)

暫無
暫無

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

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