Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Audio html5 arrau buffer (https://javascript.ru/forum/events/79750-audio-html5-arrau-buffer.html)

lofese10 19.03.2020 07:23

Audio html5 arrau buffer
 
привет всем, кто знает, скажите, как из
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/...oElement/Audio

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

voraa 19.03.2020 22:10

Сам я не дока в этом.
Но знакомые что то такое делали, правда для видео.
Скорее всего надо использовать API MediaRecorder и MediaStream
https://developer.mozilla.org/en-US/...ia_Streams_API
https://developer.mozilla.org/en-US/.../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 находятся
			 //	аудиоданные левого и правого каналов аудиофайла
		});
		
	}
}

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


Часовой пояс GMT +3, время: 02:27.