私は、文字列を読み、それを音声に変換し、mp3として再生するプログラムを書いています。 しかし、プログラムは音楽を再生しません。私はチェックして、mp3ファイルが作成され、標準のmp3プレーヤーではなくスクリプトで再生できることを確認しました。 gttsモジュール(テキストを音声に変換する)とvlcモジュール(mp3を再生する)を使用しています コードはこのようです。「m」は音声に変換するテキストです。無限ループなしでPythonでmp3を再生するには?
tts = gTTS(text=m, lang='en')
tts.save("greeting.mp3")
p = vlc.MediaPlayer("greeting.mp3")
p.play()
私はさらに、私がプレイcommand.Like後に無限ループを提供したときにmp3を果たしていることを見出した。この
tts = gTTS(text=m, lang='en')
tts.save("greeting.mp3")
p = vlc.MediaPlayer("greeting.mp3")
p.play()
while True:
pass
は、私は無限loop.Iがすでにインポートされていることを避けることができる方法はありますすべての必要なモジュールをプロジェクトに追加します。
は 'p.play()'の最後の文ですか?もしそうなら、プログラムがmp3を再生するチャンスがある前に終了するかもしれないという問題かもしれません –
はい私もそう思います...どうすれば修正できますか? –
あなたが使用しているvlcモジュールについてよく分かりませんが、 'is_playing()'メソッドがあるようです。したがって、trueの間は 'while 'を' p.is_playing() 'に置き換えることができ、ビジー状態を避けるために' pass'を 'sleep'関数に置き換えることができます。 –