0

我目前正在开发语音助手(就像谷歌助手一样),用户通过麦克风提出问题,输出应该是回答问题的语音。问题是,在回答问题时会打开一个媒体播放器,这是我不想要的。我想知道是否有办法让媒体播放器不打开。

以下是我尝试完成任务的所有方法:

第一种方式,使用 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"])

我该如何解决这个问题?任何帮助表示赞赏。

4

0 回答 0