由于项目的需要,需要播放声音。做过一些尝试,最简单的os.system(file),播放,出现错误提示一串乱码。
之后改成playsound尝试,刚开始几次效果不错。能直接播放,代码简单而优雅。之后出现的问题就让我悲剧加尴尬了。直接上我的代码和错误提示吧。
测试代码
# -*- coding: utf-8 -*-
# @Author: Administrator
# @Date: 2020-02-28 19:30:41
# @Last Modified by: Administrator
# @Last Modified time: 2020-02-28 19:31:26
from playsound import playsound
playsound('chuku.wav')
错误提示
Traceback (most recent call last):
File "sound.py", line 8, in <module>
playsound('chuku.wav')
File "D:\Program Files\Python38\lib\site-packages\playsound.py", line 35, in _playsoundWin
winCommand('open "' + sound + '" alias', alias)
File "D:\Program Files\Python38\lib\site-packages\playsound.py", line 30, in winCommand
'\n ' + errorBuffer.value.decode())
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation byte
***Repl Closed***
错误提示
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xce in position 0: invalid continuation byte
出了问题得解决呀,所以第一时间使用搜索引擎来辅助我解决问题,搜遍百度,竟没有一个这种先例。这时有点失落了。
根据系统的错误定位,我们来看看源码是什么情况吧。
def winCommand(*command):
buf = c_buffer(255)
command = ' '.join(command).encode(getfilesystemencoding())
errorCode = int(windll.winmm.mciSendStringA(command, buf, 254, 0