sam*_*tel 8 javascript audio html5-audio electron
我正在创建一个电子应用程序,想要播放本地音频文件(来自计算机而不是我的项目目录)而不使用输入类型文件。
我尝试了创建新 Audio 实例并为其提供 mp3 文件的绝对路径的传统方法
在 createAudio() 内部
const player = new Audio('/Absolute/path/to/music.mp3');
player.play();
Run Code Online (Sandbox Code Playgroud)
我希望它能够播放音频文件,但无论出于何种原因,它都会抛出“未捕获(承诺)DOMException”
在 Javascript 或 HTML 中,以 / 开头的路径是 URL 模式、主机名和端口 EG 的绝对路径http://localhost
,http://localhost:8080
/Absolute/path/to/music.mp3
因此,在 localhost 上运行 的 URL将变为http://localhost/Absolute/path/to/music.mp3
现在,虽然这对您来说可能不是问题,但访问文件系统时应始终使用绝对文件系统路径。EGconst player = new Audio('file:///Absolute/path/to/music.mp3');
这将指向本地文件。
但是,如果您需要在所使用的浏览器上禁用 CORS,您可能会遇到 CORS 问题,在这种情况下,您需要Electron (chromium) 禁用 Web 安全性上的答案
如果这不起作用,我们需要查看未被捕获的异常,
player.play().catch(e => console.error("audio play failed with: "+e))
如果显示控制台输出,或者player.play().catch(e => alert("audio play failed with: "+e))
归档时间: |
|
查看次数: |
5662 次 |
最近记录: |