反应:音频不播放

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

这个解决方案对我来说非常有效。