我目前正在开发语音助手(就像谷歌助手一样),用户通过麦克风提出问题,输出应该是回答问题的语音。问题是,在回答问题时会打开一个媒体播放器,这是我不想要的。我想知道是否有办法让媒体播放器不打开。
以下是我尝试完成任务的所有方法:
第一种方式,使用 gtts(谷歌文本到语音)
def text_to_audio(question):
tts = gTTS(text=question, lang='en')
fp = BytesIO()
tts.write_to_fp(fp)
fp.seek(0)
song = AudioSegment.from_file(fp, format="mp3")
play(song)
#opens media player
第二种方式,使用 pygame 混合器模块和 gtts
def text_to_audio(question):
tts = gTTS(text=question, lang='en')
fp = BytesIO()
tts.write_to_fp(fp)
fp.seek(0)
pygame.mixer.init()
pygame.mixer.music.load(fp)
pygame.mixer.music.play()
第三种方式
def text_to_audio(q):
voice = gTTS(text=q, lang="en")
voice.save("answer.mp3")
opener = "open" if sys.platform == "darwin" else "xdg-open"
subprocess.call([opener, "answer.mp3"])
我该如何解决这个问题?任何帮助表示赞赏。