The loop
property of the AudioBufferSourceNode
interface is a Boolean indicating if the audio asset must be replayed when the end of the AudioBuffer
is reached.
The loop
property's default value is false
.
var source = audioCtx.createBufferSource(); source.loop = true;
A boolean.
In this example, the AudioContext.decodeAudioData
function is used to decode an audio track and put it into an AudioBufferSourceNode
. Buttons are provided to play and stop the audio playback, and a slider control is used to change the playbackRate
property value on the fly. When the audio is played, it loops.
Note: You can run the full example live (or view the source.)
function getData() { source = audioCtx.createBufferSource(); request = new XMLHttpRequest(); request.open('GET', 'viper.ogg', true); request.responseType = 'arraybuffer'; request.onload = function() { var audioData = request.response; audioCtx.decodeAudioData(audioData, function(buffer) { myBuffer = buffer; source.buffer = myBuffer; source.playbackRate.value = playbackControl.value; source.connect(audioCtx.destination); source.loop = true; }, function(e){"Error with decoding audio data" + e.err}); } request.send(); } // wire up buttons to stop and play audio, and range slider control play.onclick = function() { getData(); source.start(0); play.setAttribute('disabled', 'disabled'); playbackControl.removeAttribute('disabled'); }
Specification | Status | Comment |
---|---|---|
Web Audio API The definition of 'loop' in that specification. | Working Draft |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 14 webkit | (Yes) | 23 | No support | 15 webkit 22 (unprefixed) | 6 webkit |
Feature | Android | Chrome | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|---|
Basic support | No support | 28 webkit | (Yes) | 25 | 1.2 | No support | No support | 6 webkit |
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop