Вход

Просмотр полной версии : Audio html5 arrau buffer


lofese10
19.03.2020, 07:23
привет всем, кто знает, скажите, как из
var audio = new Audio('audio.mp3')
вытащить массив данных?
audio.arraybuffer нету
заранее спасибо всем участникам и тем кто поддержал мой вопрос, для все я думаю пригодится или понадобиться!

lofese10
19.03.2020, 07:28
мне кажется, только хакеры на такое способны) Шутка :help:

Nexus
19.03.2020, 13:16
Вот документация по классу Audio:
https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement/Audio

Смотрите какие методы и свойства он имеет и извлекайте, что вам нужно.

voraa
19.03.2020, 22:10
Сам я не дока в этом.
Но знакомые что то такое делали, правда для видео.
Скорее всего надо использовать API MediaRecorder и MediaStream
https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API
https://developer.mozilla.org/en-US/docs/Web/API/MediaRecorder

Опан1
21.03.2020, 16:55
Для на чала о том, как вытащить массив данных из аудиофайла, выбранного на компьютере с помощью диалога:
<input id=myfile type=file>
var data_L, data_R;
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
var source = audioCtx.createBufferSource();
myfile.onchange = function(){
var reader = new FileReader();
reader.readAsArrayBuffer(this.files[0]);
reader.onload = function(e){
audioCtx.decodeAudioData(e.target.result, function(buffer){
data_L = buffer.getChannelData(0); // получаем исходные семплы
data_R = buffer.getChannelData(1); // аудиофайла с помощью Web Audio API
// Теперь соответственно в массивах data_L и data_R находятся
// аудиоданные левого и правого каналов аудиофайла
});

}
}
Чуть позже изложу, как вытащить массив данных из аудиофайла на сервере.