程序代码
from playsound import playsound
playsound('你的MP3文件的路径')
报错内容
Error 305 for command:
open "F:\pycharm\data_analysis\data_1\2.mp3"
在用引号括起的字符串不能指定额外的字符。
Error 263 for command:
close "F:\pycharm\data_analysis\data_1\2.mp3"
指定的设备未打开,或不被 MCI 所识别。
Failed to close the file: "F:\pycharm\data_analysis\data_1\2.mp3"
Traceback (most recent call last):
File "F:/pycharm/data_analysis/data_1/mi.py", line 5, in <module>
playsound(r'F:\pycharm\data_analysis\data_1\2.mp3')
File "E:\Pythonxx\envs\learn\lib\site-packages\playsound.py", line 72, in _playsoundWin
winCommand(u'open {}'.format(sound))
File "E:\Pythonxx\envs\learn\lib\site-packages\playsound.py", line 64, in winCommand
raise PlaysoundException(exceptionMessage)
playsound.PlaysoundException:
Error 305 for command:
open "F:\pycharm\data_analysis\data_1\2.mp3"
在用引号括起的字符串不能指定额外的字符。
过程
- 把源码分析了一下子也没有发现问题,然后网上百度了两天才发现眉目
- 最后在百度搜索关键词为
windll.winmm.mciSendStringW
的文章中发现了一篇非常好的文章,是关于使用windll.winmm.mciSendStringW
函数编码问题的。
结果
- 将源码中
command = ' '.join(command).encode('utf-16')
变为command = ' '.join(command)
即可
原因
- windows的命令不能使用utf-16的方式进行编码
- 能力有限,欢迎补充。