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

weixin_38068389 2019-09-12 03:19:26

我想打一个音频文件,到目前为止,我能够通过做到这一点: a = new Audio("audio.mp3"); a.load(); a.play(); 但是玩它什么,我试图做后是我正在创建具有相同名称的新音频文件。现在再次单击一个按钮并运行此功能播放音频时,它将播放以前的文件输出而不是新的文件。所以我如何重新上传同名的同一个文件,以便生成新的音频。 感谢








...全文
219 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38079250 2019-09-12
  • 打赏
  • 举报
回复

你不断收到,因为浏览器高速缓存中相同的音频文件,因为它是在浏览器假定这两个文件是相同的同一名称的原因。为防止出现这种情况,您可以在文件名后附加一个随机查询字符串,以便浏览器认为您每次都有一个新文件。但是这样做的缺点是您的用户每次都必须下载音频文件,这可能会减慢用户的加载时间。 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();
weixin_38094491 2019-09-12
  • 打赏
  • 举报
回复

如果要加载具有相同名称的另一个文件(甚至可能是另一个名称,在同一个对象中),则需要删除先前的对象! 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(或只是提高超时秒)

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧