pyaudio воспроизвести аудио
У меня есть такой простенький класс. Метод play должен воспроизводить запись. Он вроде работает, запись(точнее filename) воспроизводится, но сообщение 'Stop' некогда не выводится. Как это исправить?
class utils:
def play(self, filename):
wf = wave.open(filename, 'rb')
p = pyaudio.PyAudio()
stream = p.open(format=
p.get_format_from_width(wf.getsampwidth()),
channels=wf.getnchannels(),
rate=wf.getframerate(),
output=True)
data = wf.readframes(1024)
while data != '':
stream.write(data)
data = wf.readframes(1024)
stream.close()
p.terminate()
print('Stop')
Ответы (1 шт):
Автор решения: gil9red
→ Ссылка
Поменяйте while data != '' на while data. Это более общая булевая проверка, сгодится для пустых строк, байтов, массивов и т.п.
Вообще, судя по флагу rb у вас из файла считываются байты, а проверка на пустую строку.