• 请不要在回答技术问题时复制粘贴 AI 生成的内容
woshipanghu
V2EX  ›  程序员

electron 打包后遇到音频无法播放

  •  
  •   woshipanghu · Jan 29, 2023 · 2941 views
    This topic created in 1381 days ago, the information mentioned may be changed or developed.

    electron+vue

    在开发的时候音频都是正常播放的

    但是打包之后音频就无法正常播放了 使用的是 audio 标签

    打开控制台报: DOMException: Failed to load because no supported source was found.

    加载的音频文件的请求也是成功 不过很奇怪 大小只有 0kb

    解决了一天了还没搞定 有能提供下解决思路吗?

    Supplement 1  ·  Jan 30, 2023
    暂时解决方案:
    用小一点的音频 打包后可以播放
    Supplement 2  ·  Jan 31, 2023
    13 replies  •  2023-01-30 17:17:06 +08:00
    jackytsu
    jackytsu
    Jan 30, 2023
    1
    看看是不是没有 ffmpeg.dll 这个文件
    jackytsu
    jackytsu
    Jan 30, 2023
    2
    Google 了一下,也有可能是这个问题: https://juejin.cn/post/7033172482815328270#heading-9
    woshipanghu
    woshipanghu
    OP
    Jan 30, 2023
    3
    @jackytsu 应该是我描述的不清楚 播放页面是在 html audio 标签里的播放的 ffmpeg 这个应该用不到
    你上面的那篇文章也按他的修改也测试过了 无是没效果
    electron 加载远程的音频是没问题的 但是对加载本地音频文件的某个限制,控制台我也打开看了 地址没问题有文件 加载过来的内容大小是 0kb
    感觉像是 electron 这个框架对本地加载的文件做了某些限制
    我试过换小一点的音频文件 也是一样加载不到
    jackytsu
    jackytsu
    Jan 30, 2023
    4
    不知道你的 audio 标签里面的 src 是怎么写的
    官方有个类似的 issue 可以试试: https://github.com/nklayman/vue-cli-plugin-electron-builder/issues/1798#issuecomment-1185462737
    woshipanghu
    woshipanghu
    OP
    Jan 30, 2023
    5
    @jackytsu 好的 非常感谢 我试试看
    Yeen
    Yeen
    Jan 30, 2023
    6
    本地音频资源没打进去?
    woshipanghu
    woshipanghu
    OP
    Jan 30, 2023
    7
    @Yeen 打包进去了 文件检查了大小也没问题 打开控制台请求返回的 200 如果没加载到的话就是 404
    mlmdflr
    mlmdflr
    Jan 30, 2023
    8
    是否能提供一个最小复现的仓库
    woshipanghu
    woshipanghu
    OP
    Jan 30, 2023
    9
    @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)
    })

    播放音频相关的代码
    Yeen
    Yeen
    Jan 30, 2023
    10
    你把音频资源放到 app.asar.unpacked 呢,不要放到 asar 包里试试。
    Yeen
    Yeen
    Jan 30, 2023
    11
    @Yeen yourappdir/resources/app.asar.unpacked/
    woshipanghu
    woshipanghu
    OP
    Jan 30, 2023
    12
    @Yeen 打包的时候 asarUnpack: ["**/*" ],
    在 app 下面能看到音频文件 但是还是播放不了 真的奇怪了
    woshipanghu
    woshipanghu
    OP
    Jan 30, 2023
    13
    @Yeen Uncaught (in promise) DOMException: Failed to load because no supported source was found. 还是一样的报错
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2281 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 13:33 · PVG 21:33 · LAX 05:33 · JFK 08:33
    ♥ Do have faith in what you're doing.