AudioBuffer

AudioBuffer - аудіо дані які перебувають у пам'яті.

Синтаксис:

AudioContext.createBuffer(numOfchannels, length, sampleRate);

Параметри:

AudioContext - об'єкт AudioContext.

numOfchannels - кількість каналів, який повинен мати цей буфер. Значення за замовчуванням дорівнює 1, браузери мають підтримувати щонайменше 32 канали.

length - розмір буфера.

sampleRate - частота дискретизації лінійних аудіоданих у зразкових кадрах в секунду. Значення повино бути від 8000 Гц до 96000 Гц. Значення можна брати з властивості AudioContext.sampleRate.

Опис:

AudioBuffer це об'єкт який являє собою аудіо дані, що перебувають в пам'ять. Формат даних IEEE 32-розрядний лінійний PCM з номінальним діапазоном -1 ... +1.

Очікується що довжина даних AudioBuffer буде досить короткою, менше одної хвилини аудіо звуку.

Для тривалого звучання рекомендовано використовувати елемент аудіо та MediaElementAudioSourceNode.

Відтворення AudioBuffer можливо за допомогою AudioBufferSourceNode.

Приклад:

if(window.AudioContext){ var audio=new AudioContext(); var buffer= audio.createBuffer(1,2,4250); alert(buffer); }else alert('Ваш браузер не підтримує Web Audio'); if(window.AudioContext){ var audio=new AudioContext(); var source=audio.createBufferSource(); source.connect(audio.destination); var myBuffer=audio.createBuffer(2, 64000, audio.sampleRate); //створюємо буфер довжиною 64000 з 2 каналами //заповнюємо буфер випадковими даними for(var i=0; i<myBuffer.length;i++){ myBuffer.getChannelData(0)[i]=Math.random()*2-1; myBuffer.getChannelData(1)[i]=Math.random()*2-1; } source.buffer=myBuffer; source.start(0); //починаємо відтворювати дані буфера }else alert('Ваш браузер не підтримує Web Audio');