Javascript:如何加载更新的音频文件并播放它

标签 javascript audio

我正在尝试播放一个音频文件,到目前为止我可以通过以下方式实现:

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();

关于Javascript:如何加载更新的音频文件并播放它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47994020/

相关文章:

javascript - Tensorflow:DenseFeatures 输入层的替代方案,可移植到 tfjs

javascript - JavaScript 片段中的 Ruby 变量不适用于 Slim lang

javascript - 为什么这个 jQuery 脚本不起作用?我看不出有什么不对

javascript - 对具有单独延迟的元素数组进行迭代

c# - 如何从流源中再现音频

java - 在 Java 中使用傅里叶变换处理音频数据

audio - FFmpeg 检查音频 channel 是否静音

javascript - 我们可以防止广告软件插件干扰我们的网站吗?

flash - ActionScript 3 : playing sound from library with name from string

java - 在 Flutter 应用程序中使用 Java 或其他语言