AudioBufferSourceNode.loop

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

La propriété loop de l'interface AudioBufferSourceNode est un booléen indiquant si la ressource audio doit être rejouée quand à la fin de l'AudioBuffer.

La valeur par défaut de la propriété loop est false.

Syntaxe

js
var source = audioCtx.createBufferSource();
source.loop = true;

Value

Un booléen.

Lorsque la lecture en boucle est activée, le son commence à jouer au point spécifié lorsque start() est appelée. Quand il atteint le point spécifié par la propriété loopEnd, il recommence au point spécifié par la propriété loopStart

Exemple

Dans cet exemple, la fonction AudioContext.decodeAudioData est utilisée pour décoder une piste audio et la placer dans un AudioBufferSourceNode. Les boutons mis à disposition permettent de lire et d'arrêter la lecture audio, et un slider est utilisé pour changer la valeur de playbackRate en temps réel. Quand la lecture est terminée, elle boucle.

Note : Vous pouvez essayer un exemple live (or voir la source.)

js
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();
}

// lie les boutons pour lire et arrêter l'audio, et le slider

play.onclick = function () {
  getData();
  source.start(0);
  play.setAttribute("disabled", "disabled");
  playbackControl.removeAttribute("disabled");
};

Spécifications

Specification
Web Audio API
# dom-audiobuffersourcenode-loop

Compatibilité des navigateurs

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
loop

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Voir aussi