程序代码
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的方式进行编码 能力有限,欢迎补充。