electron+vue
在开发的时候音频都是正常播放的
但是打包之后音频就无法正常播放了 使用的是 audio 标签
打开控制台报: DOMException: Failed to load because no supported source was found.
加载的音频文件的请求也是成功 不过很奇怪 大小只有 0kb
解决了一天了还没搞定 有能提供下解决思路吗?
1
jackytsu 2023-01-30 08:40:45 +08:00
看看是不是没有 ffmpeg.dll 这个文件
|
2
jackytsu 2023-01-30 08:42:53 +08:00
Google 了一下,也有可能是这个问题: https://juejin.cn/post/7033172482815328270#heading-9
|
3
woshipanghu OP @jackytsu 应该是我描述的不清楚 播放页面是在 html audio 标签里的播放的 ffmpeg 这个应该用不到
你上面的那篇文章也按他的修改也测试过了 无是没效果 electron 加载远程的音频是没问题的 但是对加载本地音频文件的某个限制,控制台我也打开看了 地址没问题有文件 加载过来的内容大小是 0kb 感觉像是 electron 这个框架对本地加载的文件做了某些限制 我试过换小一点的音频文件 也是一样加载不到 |
4
jackytsu 2023-01-30 09:59:31 +08:00
不知道你的 audio 标签里面的 src 是怎么写的
官方有个类似的 issue 可以试试: https://github.com/nklayman/vue-cli-plugin-electron-builder/issues/1798#issuecomment-1185462737 |
5
woshipanghu OP @jackytsu 好的 非常感谢 我试试看
|
6
Yeen 2023-01-30 10:30:37 +08:00
本地音频资源没打进去?
|
7
woshipanghu OP @Yeen 打包进去了 文件检查了大小也没问题 打开控制台请求返回的 200 如果没加载到的话就是 404
|
8
mlmdflr 2023-01-30 11:49:52 +08:00
是否能提供一个最小复现的仓库
|
9
woshipanghu OP @mlmdflr
import clockUrl from '../assets/media/clock.wav' <audio :src="clockUrl" ref='audio' loop /> 调用 js 播放 const audioDom = this.$refs.audio audioDom.setAttribute = 'anonymous' audioDom.currentTime = 0; audioDom.play() .then(()=>{ console.log('ppppplay') }) .catch(error => { console.log(error) }) 播放音频相关的代码 |
10
Yeen 2023-01-30 15:15:46 +08:00
你把音频资源放到 app.asar.unpacked 呢,不要放到 asar 包里试试。
|
12
woshipanghu OP @Yeen 打包的时候 asarUnpack: ["**/*" ],
在 app 下面能看到音频文件 但是还是播放不了 真的奇怪了 |
13
woshipanghu OP @Yeen Uncaught (in promise) DOMException: Failed to load because no supported source was found. 还是一样的报错
|