simpleaudio ломает скрипт
При остановке проигрывания через sa.stop_all()/play_obj.stop() скрипт "виснет" и останавливается с ошибкой
import simpleaudio as sa
wave_obj = sa.WaveObject.from_wave_file("music.wav")
play_obj = wave_obj.play()
play_obj.stop()
print('hello')
код ничего не выводит и просто останавливается с ошибкой (в VS code слева от команды запуска стоит крестик)
Ответы (1 шт):
Автор решения: Stanislav Volodarskiy
→ Ссылка
Скрипт не останавливается с ошибкой. Вызов wave_obj.play() асинхронный. Он начинает проигрывание звука, но не ожидает его окончания. Ваш скрипт почти немедленно останавливает воспроизведение (play_obj.stop()) и завершается.
Чтобы дождаться окончания проигрывания, сделайте так:
import simpleaudio as sa
wave_obj = sa.WaveObject.from_wave_file("music.wav")
play_obj = wave_obj.play() # запускает проигрывание
play_obj.wait_done() # ожидает окончания мелодии
print('hello')