Javascript 如何在Vue中从源更新音频?

Javascript 如何在Vue中从源更新音频?,javascript,node.js,vue.js,audio,Javascript,Node.js,Vue.js,Audio,这可能是一个愚蠢的问题,但我对这个问题还很陌生。我可能用了非常错误的方法哈 所以我写了一个后端,它可以从文本文件中学习并生成句子。它还将生成该句子的音频版本。起初,我在使用音频对象实际加载该音频文件时遇到了很多麻烦,直到我意识到相对路径是相对于dist文件夹的 播放文件的代码非常简单。我想我不了解它是如何工作的(我现在只是让响应返回一个布尔值) 生成的音频只会覆盖同一个文件,该文件现在位于dist文件夹中。当您单击按钮时,它将播放音频文件。但是,在生成另一个句子(然后覆盖音频文件)并单击“播放”

这可能是一个愚蠢的问题,但我对这个问题还很陌生。我可能用了非常错误的方法哈

所以我写了一个后端,它可以从文本文件中学习并生成句子。它还将生成该句子的音频版本。起初,我在使用音频对象实际加载该音频文件时遇到了很多麻烦,直到我意识到相对路径是相对于dist文件夹的

播放文件的代码非常简单。我想我不了解它是如何工作的(我现在只是让响应返回一个布尔值)

生成的音频只会覆盖同一个文件,该文件现在位于dist文件夹中。当您单击按钮时,它将播放音频文件。但是,在生成另一个句子(然后覆盖音频文件)并单击“播放”按钮后,它将播放原始音频,而不是新的音频,即使音频文件已更新

我不知道为什么它没有用新版本的文件创建一个新的音频实例?我觉得内存并没有被释放,javascript试图采用一种快捷方式,而不是实例化一个新对象,但idk知道如何解决这个问题

谢谢

--编辑-- 好的,这是由于内存未被释放而导致的def,bc在等待一段时间后返回,音频已被更新>

解决

需要使用诸如“test.mp3?123”之类的查询字符串中断缓存

if (response.data) {
    this.audio = new Audio('text.mp3')
    this.audio.play()
}