Отправляйте данные блобов аудиопотока, используя сокеты от javascript до pyhon django - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь отправить в режиме реального времени входящие данные auido микрофона от javascript до python django, используя веб-сокеты:

function handleDataAvailable(event) {
            if (event.data && event.data.size > 0) {
                if (recordedBlobs.length >99){
                        recordedBlobs.shift()
                        console.log(recordedBlobs)
                        chatSocket.send(recordedBlobs);
                    }
                recordedBlobs.push(event.data);

            }
        }


        const handleSuccess = function(stream) {
            recordedBlobs = [];
            mediaRecorder = new MediaRecorder(stream);
            //mediaRecorder.onstop = handleStop;
            mediaRecorder.ondataavailable = handleDataAvailable;
            mediaRecorder.start(10); // collect 10ms of data    
    }
        navigator.mediaDevices.getUserMedia({ audio: true, video: false }).then(handleSuccess);

А затем в python я получаю данные в приемнике .py:

class ChatConsumer(WebsocketConsumer):
    def connect(self):
        self.accept()

    def disconnect(self, close_code):
        pass

    def receive(self, text_data):
        print(text_data)

Как я могу получить сигнал аудио, полученный в python? я могу получить только строку с именем «blob» при печати text_data

...