关于Python使用playsound模块播放音频文件的编码问题UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position

在使用Python的playsound模块播放音频文件时,出现了UnicodeDecodeError,错误提示为'utf-8' codec无法解码字节0xce。错误发生在windll.winmm.mciSendStringA函数中,目前尚不清楚具体原因,寻求解决方案。
摘要由CSDN通过智能技术生成

由于项目的需要,需要播放声音。做过一些尝试,最简单的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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 25
    评论
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值