Я получаю аудио двоичные данные из веб-запроса, и я хотел бы передать эти данные и немедленно воспроизвести их через динамики. Как я могу это сделать? В настоящее время я получаю сообщения об ошибках, относящихся к свойствам .wav, таким как число не указанных каналов, ширина выборки и т. Д. Я не хочу записывать его в файл .wav, а затем загружать файл и воспроизводить его. Я хотел бы перейти от двоичных аудиоданных -> к воспроизведению на динамиках, возможно, я иду в неверном направлении, чтобы решить эту проблему, но любая помощь будет принята с благодарностью. Я предполагаю, что должен быть какой-то способ передать эти данные в аудиопоток, и я просто не знаю, как это сделать.
Я пытаюсь открыть двоичные данные, записать объект .wav в переменную и затемоткрытие аудиопотока с этого объекта. Я также попытался явно установить поля в аудиопотоке для использования.
wav = wave.open(response.audio_content, 'wb')
pa = pyaudio.PyAudio()
audio_stream = pa.open(format=pa.get_format_from_width(wav.getsampwidth()),
channels=wav.getnchannels(),
rate=wav.getframerate(),
output=True)
data = wav.readframes(CHUNK)
while data != '':
audio_stream.write(data)
data = wav.readframes(CHUNK)
audio_stream.stop_stream()
audio_stream.close()
pa.terminate()
Вот пример ошибки канала:
wave.Error: # channels not specified