Показать сообщение отдельно
  #1 (permalink)  
Старый 07.12.2019, 23:54
Новичок на форуме
Отправить личное сообщение для symbians60v5 Посмотреть профиль Найти все сообщения от symbians60v5
 
Регистрация: 07.12.2019
Сообщений: 1

Перевод из byte массива в звук
f (this.chatSocket) {
            let context = new AudioContext();
            let buf;
            this.chatSocket.onmessage = function (e) {
                let data = JSON.parse(e.data);
                let message = data['message'];

                let byteArray = Array();
                for (let key in message) {

                    byteArray.push(message[key])
                }

                var arrayBuffer = new ArrayBuffer(byteArray.length);
                var bufferView = new Uint8Array(arrayBuffer);
                for (let i = 0; i < byteArray.length; i++) {
                    bufferView[i] = byteArray[i];
                }

                context.decodeAudioData(arrayBuffer, function (buffer) {
                    buf = buffer;
                    play()
                });
            };

            function play() {
                var source = context.createBufferSource();
                source.buffer = buf;
                // Connect to the final output node (the speakers)
                source.connect(context.destination);
                // Play immediately
                source.start(0);
            }


Здравствуйте. Пытаюсь перевести массив байтов в звук, но выдает ошибку Uncaught (in promise) DOMException: Unable to decode audio data
Подскажите как решить эту проблему
Ответить с цитированием