The buffer
property of the AudioBufferSourceNode
interface represents an AudioBuffer
that defines the audio asset to be played.
If the buffer
property is set to the value NULL, it defines a single channel of silence.
SyntaxEdit
var source = audioCtx.createBufferSource();
// from audioCtx.createBuffer, or audioCtx.decodeAudioData
source.buffer = myBuffer;
Value
An AudioBuffer
.
ExampleEdit
Note: For a full working example, see this code running live, or view the source.
var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
button.onclick = function() {
// Fill the buffer with white noise;
//just random values between -1.0 and 1.0
for (var channel = 0; channel < channels; channel++) {
// This gives us the actual ArrayBuffer that contains the data
var nowBuffering = myArrayBuffer.getChannelData(channel);
for (var i = 0; i < frameCount; i++) {
// Math.random() is in [0; 1.0]
// audio needs to be in [-1.0; 1.0]
nowBuffering[i] = Math.random() * 2 - 1;
}
}
// Get an AudioBufferSourceNode.
// This is the AudioNode to use when we want to play an AudioBuffer
var source = audioCtx.createBufferSource();
// set the buffer in the AudioBufferSourceNode
source.buffer = myArrayBuffer;
SpecificationsEdit
Specification | Status | Comment |
---|---|---|
Web Audio API The definition of 'buffer' in that specification. |
Working Draft | Initial definition |
Browser compatibilityEdit
[1] Removed in Chrome version 44.0. Was supported with a webkit
prefix from version 14.
See alsoEdit
Document Tags and Contributors
Tags:
Contributors to this page:
Sebastianz,
fscholz,
jpmedley,
kevincennis,
padenotmoz,
teoli,
chrisdavidmills
Last updated by:
Sebastianz,