Я использую веб-аудио api для декодирования n-канального аудиофайла в отдельные каналы, которые затем отображаются на холсте, чтобы визуально создавать частотомер.Более эффективный decodeAudioData()?
Я использую decodeAudioData для декодирования буфера массива из байтов, чтобы затем назначить источник источника звукового буфера в отдельной функции.
// load the specified sound
function loadSound(url) {
var request = new XMLHttpRequest();
request.open('GET', url, true);
request.responseType = 'arraybuffer';
// When loaded decode the data
request.onload = function() {
// decode the data
context.decodeAudioData(request.response, function (buffer) {
// when the audio is decoded play the sound
holdingBuffer = buffer;
setupSound(buffer);
}, onError);
}
request.send();
}
Проблемы я имею что когда я пытаться декодировать аудио вокруг 60MB +, браузер будет работать из-за отсутствие памяти функции space.The decodeAudioData чрезвычайно памяти голодный!
Мне было интересно, есть ли у кого-нибудь опыт более эффективных способов декодирования больших аудиофайлов?
Вы работаете на мобильных устройствах? 60 МБ (сжатый) большой, но не такой большой для настольной машины. –