反应:音频不播放
React: Audio does not play
我希望通过单击按钮播放音频。必须根据所选动物来选择音频。提供音频的函数如下所示:
function introAudioForAnimal(animal) {
if (animal == "siri") { return }
let audioImport = import("../assets/audio/wer_wars/" + animal + "/" + animal + " anfang.wav");
return new Audio(audioImport);
}
然后 introAudioForAnimal("tiger").play();
播放返回的音频
问题是,没有播放任何内容,但我收到一个无意义的控制台错误:
index.js:1 Uncaught Error: The error you provided does not contain a stack trace.
at L (index.js:1)
at Y (index.js:1)
at index.js:1
at index.js:1
at l (index.js:1)
L @ index.js:1
Y @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
l @ index.js:1
game:1 Uncaught (in promise) DOMException: Failed to load because no supported source was found.
我已经尝试记录确切的路径:
../assets/audio/wer_wars/tiger/tiger anfang.wav
这与音频所在位置的我的文件系统相匹配。
有什么办法可以播放音频吗?
如果您需要任何进一步的信息,请告诉我。
编辑:我的浏览器是 google chrome,如果对您有帮助的话
对于其他搜索的人,我找到了一个解决方案:
首先我改变了定义路径的方式:
let audioImport = import(`../assets/audio/wer_wars/${animal}/${animal} anfang.wav`);
关键问题是,您需要使用该动态导入的默认 属性 来创建新音频:
new Audio(audioImport.default);
这个解决方案对我来说非常有效。
我希望通过单击按钮播放音频。必须根据所选动物来选择音频。提供音频的函数如下所示:
function introAudioForAnimal(animal) {
if (animal == "siri") { return }
let audioImport = import("../assets/audio/wer_wars/" + animal + "/" + animal + " anfang.wav");
return new Audio(audioImport);
}
然后 introAudioForAnimal("tiger").play();
问题是,没有播放任何内容,但我收到一个无意义的控制台错误:
index.js:1 Uncaught Error: The error you provided does not contain a stack trace.
at L (index.js:1)
at Y (index.js:1)
at index.js:1
at index.js:1
at l (index.js:1)
L @ index.js:1
Y @ index.js:1
(anonymous) @ index.js:1
(anonymous) @ index.js:1
l @ index.js:1
game:1 Uncaught (in promise) DOMException: Failed to load because no supported source was found.
我已经尝试记录确切的路径:
../assets/audio/wer_wars/tiger/tiger anfang.wav
这与音频所在位置的我的文件系统相匹配。
有什么办法可以播放音频吗? 如果您需要任何进一步的信息,请告诉我。
编辑:我的浏览器是 google chrome,如果对您有帮助的话
对于其他搜索的人,我找到了一个解决方案:
首先我改变了定义路径的方式:
let audioImport = import(`../assets/audio/wer_wars/${animal}/${animal} anfang.wav`);
关键问题是,您需要使用该动态导入的默认 属性 来创建新音频:
new Audio(audioImport.default);
这个解决方案对我来说非常有效。