我正在使用 discord.py 在 Python 中制作一个 Discord 机器人,并且我正在实现一个 tts 命令。基本上,我有一个函数可以将获得的音频数据保存到字节类型变量中,然后(出于测试目的)将其写入文件。这是代码:
def speak(text):
engine.setProperty("rate", 150)
engine.say(text)
engine.runAndWait()
fileData = bytes()
filePath = './sound.mp3'
engine.save_to_file(text, fileData)
engine.runAndWait()
with open(filePath, 'w+b') as f:
f.write(fileData)
f.close()
print("Wrote to file")
return os.path.abspath(filePath)
然而,归根结底,sound.mp3 是 0 字节,Python 解释器也不会抛出任何错误或警告。你可以说我可以直接写入文件,但这里的目标是将它存储在内存中,这样我的 Raspberry Pi 的 SD 上的磨损就会减少(这是我托管机器人的地方)。Discord.py 通常也需要一个文件来播放音频,但我使用的补丁允许我播放字节和类似字节的对象,所以这也得到了照顾。我只需要上面代码的帮助。感谢所有帮助。谢谢!