python 使用playsound模块出现编码问题。

   Error 259 for command:
        play sound/zhou.mp3 wait
    驱动程序无法识别指定的命令参数。

    Error 263 for command:
        close sound/zhou.mp3
    指定的设备未打开,或不被 MCI 所识别。
Failed to close the file: sound/zhou.mp3
Traceback (most recent call last):
  File "order2.py", line 151, in <module>
    playsound('sound/zhou.mp3')
  File "playsound.py", line 73, in _playsoundWin
  File "playsound.py", line 64, in winCommand
playsound.PlaysoundException:
    Error 259 for command:
        play sound/zhou.mp3 wait
    驱动程序无法识别指定的命令参数。
[7404] Failed to execute script 'order2' due to unhandled exception!

查阅了很多资料后发现,在windows不支持utf-16编码,需要修改playsound源码

路径:C:\Users\Jason\AppData\Local\Programs\Python\Python310\Lib\site-packages>playsound.py,要根据你安装的路径来。

需要修改两个地方

# def winCommand 方法下
- command = ' '.join(command).decode('utf-16')
+ command = ' '.join(command)


exceptionMessage = ('\n    Error ' + str(errorCode) + ' for command:'
-                                 '\n        ' + command.decode('utf-16') +
+                                 '\n        ' + command +
                                '\n    ' + errorBuffer.raw.decode('utf-16').rstrip('\0'))

在执行程序就可以了。

如果之前有用pyinstaller 生成.exe文件。也需要重新编译才可以用哦!

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值