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

使用Python playsound模块播放mp3时报错Error 305的问题求助

报错原因

这个错误是playsound 1.2.2版本在Windows系统下的已知兼容性Bug:模块底层调用Windows MCI接口拼接播放命令时,若文件路径被自动包裹双引号后,后续参数直接跟在引号末尾,会被MCI判定为「引号后存在多余字符」,触发305错误;因音频未成功打开,后续执行close命令时就会触发263错误。

解决方案
  • 方案1:降级playsound到无该Bug的1.2.1版本
    执行安装命令:
    pip install playsound==1.2.1
    安装完成后直接运行原有代码即可正常播放。

  • 方案2:手动修复现有playsound源码
    打开报错日志中提示的playsound.py文件路径:C:\Users\arnavb\AppData\Local\Programs\Python\Python39\lib\site-packages\playsound.py,找到_playsoundWin函数下的如下代码:

winCommand(u'open {}'.format(sound))

修改为:

winCommand(u'open "{}" alias audio_tmp'.format(sound))

保存后重新运行代码即可。

  • 方案3:更换其他音频播放库
    如果不想修改源码也不想降级,可以使用pygame等成熟库替代实现播放功能:
  1. 先安装pygame:pip install pygame
  2. 替换原有代码为:
import pygame
pygame.mixer.init()
pygame.mixer.music.load('C:\\Users\\arnavb\\Desktop\\Python\\Lecture1\\song.mp3')
pygame.mixer.music.play()
# 保持程序运行直到音频播放完成
while pygame.mixer.music.get_busy():
    pygame.time.Clock().tick(10)

注:操作前可先确认目标mp3文件未损坏、路径不存在无法读取的权限问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:45:00