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

MacOS系统下Python的playsound库调用音频时报错OSError:无法加载音频文件

问题原因
  • 路径不匹配:从运行日志可以看到你的脚本实际存放路径为/Volumes/sDesktop 1/learnPython/2020simulator/,但你代码中写的音频路径前缀为/Volumes/sDesktop/,二者前缀不一致,大概率是挂载卷重命名、重复挂载导致盘符新增了 1后缀,系统无法找到对应路径下的音频文件。
  • playsound兼容性缺陷:playsound 1.2.2及以上版本在MacOS系统上对block=False参数的支持存在原生bug,即使路径正确也大概率会抛出加载失败报错。
解决步骤
  1. 先修正音频路径,可先运行以下代码确认当前脚本所在目录的正确前缀:
import os
# 输出当前脚本所在的绝对路径
print(os.path.dirname(os.path.abspath(__file__)))

将输出的路径前缀替换原代码中/Volumes/sDesktop/部分即可,修正后的音频路径应为/Volumes/sDesktop 1/learnPython/2020simulator/Elegy_AsherFulero.mp3。
2. 路径修正后如果仍报错,可选择以下任意一种方案处理:

  • 方案一:删除block=False参数,使用默认的阻塞播放模式,可兼容playsound的原生实现:
from playsound import playsound 
playsound('/Volumes/sDesktop 1/learnPython/2020simulator/Elegy_AsherFulero.mp3')
  • 方案二:如果必须使用非阻塞播放,直接调用MacOS原生的afplay命令实现,无需额外依赖,稳定性更高:
import subprocess
subprocess.Popen(['afplay', '/Volumes/sDesktop 1/learnPython/2020simulator/Elegy_AsherFulero.mp3'])

内容的提问来源于stack exchange,提问作者StressedPostgrad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 11:12:03