在ReactJS中使用Howler读取本地声音文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ReactJS中使用Howler读取本地声音文件相关的知识,希望对你有一定的参考价值。

我试图在本地.wav文件中读取并使用Howler播放它。

var sound = new Howl({
    src: ['doremi.wav']
})
sound.play()

我收到一个错误:http://localhost:3000/doremi.wav即使声音文件与代码文件在同一目录中。 Howler正在向我的应用发起get请求,但我只是想让它在本地文件中读取。为什么要提出请求?

谢谢。

答案

即使声音文件与代码文件位于同一目录中。

它所在的目录无关紧要。仍然需要进行HTTP请求。如果没有完整的URL,您指定的内容是相对于当前页面基本URL的。如果那是http://localhost:3000/,那么尝试加载doremi.wav将加载http://localhost:3000/doremi.wav

但我只想让它在本地文件中读取

浏览器并不真正知道或关心localhost恰好是在同一台机器上运行的Web服务器。它只是一个像example.com这样的主机名。此URL上加载的所有内容都来自您计算机上运行的Web服务器。您的浏览器无法在本地为此页面加载文件,除非用户将它们拖到页面中或将它们放入文件输入中。

以上是关于在ReactJS中使用Howler读取本地声音文件的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 不会播放声音,但可以在其他浏览器中使用

从公共文件夹 ReactJS 获取本地 JSON 文件

Howler.js - 从数组/for循环引用和触发文件

如何从响应中读取文件名 - reactJs

如何下载我刚刚使用 Web Audio API 创建的声音?

如何使用 for 循环在 Matlab 中读取许多声音文件?