我尝试使用模块playsound
播放声音。
问题是,只有文件名中没有中文字符,它才有效。
但是我想播放文件名中带有汉字的声音。
我认为,可以通过将文件重命名为tmp.wav
然后播放tmp.wav
来避免此问题。
现在,我有一个问题,它只能工作一次。然后出现以下错误:
错误消息:play_now中的第752行 os.remove('tmp'+ wav_ext)PermissionError:[WinError 32]该进程无法访问该文件,因为该文件正在被另一个文件使用 流程:“ tmp.wav”
我假设playsound
在播放完毕后没有关闭文件。是这样吗?
我尝试将False
替换为True
,还增加了一些睡眠时间。
当然,我等到确定声音已播放完毕。
import playsound as ps
import os
def play_now(event, song):
print(song)
if len(song)>0:
wav_ext = '.'+song.split('.')[-1]
if os.path.isfile('tmp'+wav_ext):
os.remove('tmp'+wav_ext)
os.rename(song,'tmp'+wav_ext)
ps.playsound('tmp'+wav_ext, False)
答案 0 :(得分:0)
好的,我现在使用pygame的混音器。它简单快捷。 我不再需要上述问题的答案。