AudioBuffer.copyToChannel()

AudioBuffer.copyToChannel() - копіює дані з масиву у вказаний каналу.

Синтаксис:

AudioBuffer.copyToChannel(source, channelNumber, startInChannel);

Параметри:

AudioBuffer - об'єкт AudioBuffer.

source - масив Float32Array з якого необхідно скопіювати дані у вказаний канал.

channelNumber - номер каналу в який необхідно скопіювати дані.

startInChannel - не обов'язково вказувати. З якого індексу починати копіювати дані. Значення по замовчуванню 0.

Опис:

copyToChannel() метод об'єкту AudioBuffer який копіює дані з масиву Float32Array у вказаний канал.

Приклад:

var audioCtx = new window.AudioContext(); var myArrayBuffer = audioCtx.createBuffer(1, 3, audioCtx.sampleRate); var mas = new Float32Array(myArrayBuffer.length); //створюємо масив mas[0]=0.2567753195762634; mas[1]=0.8018139072077896; mas[2]=0.0201101058025454; myArrayBuffer.copyToChannel(mas, 0); //копіюємо дані в 1 канал alert( myArrayBuffer.getChannelData(0) ); var audioCtx = new window.AudioContext(); var myArrayBuffer = audioCtx.createBuffer(2, 45000, audioCtx.sampleRate); //створюємо буфер на 2 канали var source=audioCtx.createBufferSource(); source.connect(audioCtx.destination); var mas1=new Float32Array(myArrayBuffer.length), mas2=new Float32Array(myArrayBuffer.length); //заповнюємо масиви випадковими даними for(var i=0; i<mas1.length; i++){ mas1[i]=Math.random()*2-1; mas2[i]=Math.random()*2-1; } myArrayBuffer.copyToChannel(mas1, 0); myArrayBuffer.copyToChannel(mas2, 1); source.buffer=myArrayBuffer; source.start(0); //починаємо відтворення аудіо буфера