AudioBufferSourceNode.loop

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

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.)

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écification

Spécification Statut Commentaire
Web Audio API
La définition de 'loop' dans cette spécification.
Version de travail  

Compatibilité navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Support basique 14 webkit (Oui) 23 Pas de support 15 webkit
22 (unprefixed)
6 webkit
Fonctionnalité Android Chrome Edge Firefox Mobile (Gecko) Firefox OS IE Phone Opera Mobile Safari Mobile
Support basique Pas de support 28 webkit (Oui) 25 1.2 Pas de support Pas de support webkit

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : marie-ototoi, nobe4
 Dernière mise à jour par : marie-ototoi,