You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用QSoundEffect播放音效时MacOS无声音、Windows正常的问题求助

QSoundEffect播放音效时MacOS无声音、Windows正常的问题求助

大家好,我遇到了一个跨平台音效播放的棘手问题,想请各位帮忙排查下:

我用QSoundEffect实现点击音效,代码是这样写的:

self.sound_effect = QSoundEffect()
self.sound_effect.setSource(QUrl.fromLocalFile(self.resource_path("click.wav")))

其中resource_path方法是用来适配PyInstaller打包后资源路径的工具方法:

def resource_path(self, relative_path):
    try:
        base_path = sys._MEIPASS
    except AttributeError:
        base_path = os.path.dirname(__file__)
    return os.path.join(base_path, relative_path)

现在的问题很奇怪:

  • Windows系统下不管是直接用Python解释器跑代码,还是打包成exe后运行,音效都能正常播放
  • 但MacOS上,不管是直接跑源码还是打包后,都听不到任何声音
  • 更诡异的是,如果我把click.wav的绝对路径直接硬编码到setSource里,MacOS上就能正常播放了,但这样做的话,PyInstaller打包后的程序在其他机器上就没法用了,毕竟绝对路径是不通用的

我试过好几个其他的音效库,但只有QSoundEffect能满足我的需求,所以实在不想换库,想问问有没有办法解决MacOS上这个路径识别的问题呢?

备注:内容来源于stack exchange,提问作者Brian McGill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 13:04:32