문자열을 읽고 음성으로 변환하여 mp3로 재생하는 프로그램을 작성 중입니다. 그러나 프로그램이 음악을 재생하지 않습니다. 나는 mp3 파일이 만들어지고 표준 mp3 플레이어로 재생되지만 스크립트는 재생할 수 없다는 것을 확인하고 발견했습니다. gtts 모듈 (음성 변환) 및 vlc 모듈 (mp3 재생) 코드는 다음과 같습니다. 'm'은 소리로 변환하려는 텍스트입니다.무한 루프없이 파이썬에서 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() 메서드가있는 것 같습니다. 그래서, while true :를 while while p.is_playing()으로 대체하고 바쁜 대기를 피하기 위해'pass'를'sleep' 함수로 바꿀 수 있습니다. –