用文件名中的汉字播放声音

时间:2019-04-06 09:20:03

标签: python-3.x playsound

我尝试使用模块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)

1 个答案:

答案 0 :(得分:0)

好的,我现在使用pygame的混音器。它简单快捷。 我不再需要上述问题的答案。