在 python 中重新打开声音文件时出错

2024-01-20

我正在制作一个程序,它可以简单地重复您输入的任何文本,并且在我第一次测试它时似乎可以正常工作。问题是,当我第二次尝试输入任何内容时,它崩溃并说我录制的声音文件的权限被拒绝。我相信这是因为文件已经打开,但我仍然不知道如何修复它。我正在使用 gTTS 和 Pygame 模块。

from gtts import gTTS
from tempfile import TemporaryFile
from pygame import mixer

#Plays Sound
def play():
    mixer.init()
    mixer.music.load("Speech.mp3")
    mixer.music.play()
#Voice
def voice(x):
    text = gTTS(text= x, lang= 'en')
    with open("Speech.mp3", 'wb') as f:
        text.write_to_fp(f)
        f.close()
    play()

#Prompts user to enter text for speech
while True:
    voice_input = input("What should Wellington Say: ")
    voice(voice_input)

弄清楚了。我添加了这个功能:

def delete():
    sleep(2)
    mixer.music.load("Holder.mp3")
    os.remove("Speech.mp3")

并在之后调用它.play(),所以现在它只是在完成后删除该文件,然后在您下次需要使用它时重新创建它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 python 中重新打开声音文件时出错 的相关文章

随机推荐