我正在尝试播放一个音频文件,到目前为止我可以通过以下方式完成:
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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句