Лучший метод для чтения аудио Wav из чанка в браузере

Я получаю фреймы Wav с сервера Flask Websocket Python. Это моя тема:

def background_thread():
    """Example of how to send server generated events to clients."""
    count = 0
    audio = pyaudio.PyAudio()
    stream = audio.open(format=FORMAT,
                    channels=CHANNELS,
                    rate=RATE,
                    input=True,
                    frames_per_buffer=CHUNK)
    while True:
        ts = time.time();
        count += 1
        data = stream.read(CHUNK)
        socketio.emit('my_response',
                      {'data': data},
                      namespace='/test')

Я хотел бы транслировать его в прямом эфире в моем браузере, используя аудио веб API.

        let contexteAudio = new (window.AudioContext || window.webkitAudioContext)();

        $(document).ready(function() {

            var socket = io.connect('http://localhost:5000/test');
                       socket.on('connect', function() {
                socket.emit('my_event', {data: 'I\'m connected!'});
            });

           socket.on('my_response', function(msg) {
            let audioBuffer = msg.data;
            let source = contexteAudio.createBufferSource();
            contexteAudio.decodeAudioData(audioBuffer, function (buffer) {
                source.buffer = buffer;
                source.connect(contexteAudio.destination);
                source.start(time);
                time += source.buffer.duration;
            }, function () {
                console.log('error');
            });
        });

Это ошибка моего браузера:

Ошибка типа: не удалось выполнить decodeAudioData для BaseAudioContext: параметр 1 не относится к типу ArrayBuffer.

Есть ли способ передать мои данные в виде буфера массива?

0 ответов

Другие вопросы по тегам