繁体   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