Я пишу программу, которая читает строку, затем преобразует ее в речь и воспроизводит ее как mp3. Но программа не воспроизводит музыку. Я проверил и узнал, что mp3-файл создан и может воспроизводиться стандартными mp3-плеерами, но не скриптом. Я использую модуль gtts (для преобразования текста в речь) и модуль vlc (для воспроизведения mp3) Код выглядит следующим образом. Обратите внимание, что «m» - это текст, который я хочу преобразовать в звук.Как играть в mp3 в python без бесконечного цикла?
tts = gTTS(text=m, lang='en')
tts.save("greeting.mp3")
p = vlc.MediaPlayer("greeting.mp3")
p.play()
Я также обнаружил, что mp3 играет, когда я обеспечиваю бесконечный цикл после игры command.Like это
tts = gTTS(text=m, lang='en')
tts.save("greeting.mp3")
p = vlc.MediaPlayer("greeting.mp3")
p.play()
while True:
pass
Есть ли способ, я могу избежать этого Infinite loop.I уже импортирован все необходимые модули для проекта.
is 'p.play()' последнее утверждение в вашей программе? Если это так, проблема может заключаться в том, что программа завершается раньше, чем у нее есть возможность воспроизвести mp3 –
да, я тоже так думаю ... Как мы можем это исправить? –
Я мало знаю о модуле vlc, который вы используете, но, похоже, имеет метод 'is_playing()'. Таким образом, вы можете заменить 'while True:' на 'while p.is_playing()' и, вероятно, заменить 'pass' функцией' sleep', чтобы избежать ожиданного ожидания –