AudioBufferSourceNode.playbackRate

La propriété playbackRate de l'interface AudioBufferSourceNode est un AudioParam de type k-rate qui définit la vitesse à laquelle le contenu audio sera lu.

Sa valeur par défaut est 1.0. Lorsque cette propriété prend une autre valeur que 1.0. l'AudioBufferSourceNode rééchantillone le son avant de le transmettre en sortie.

Syntaxe

var source = contexteAudio.createBufferSource();
source.playbackRate.value = 1.25; // 25% plus rapide que la vitesse normale

Note: Bien que le AudioParam renvoyé soit en lecture seule, la valeur qu'il représente ne l'est pas.

Valeur

Un AudioParam.

Exemple

Dans cet exemple, la fonction AudioContext.decodeAudioData est utilisée pour décoder une piste audio et la mettre dans un AudioBufferSourceNode. L'interface fournit deux boutons pour démarrer et arrêter la lecture, et des sliders pour modifier les propriétés playbackRate, loopStart et loopEnd à la volée.

<input class="playback-rate-control" type="range" min="0.25" max="3" step="0.05" value="1">
<span class="playback-rate-value">1.0</span>
function getData() {
  source = contexteAudio.createBufferSource();
  requete = new XMLHttpRequest();

  requete.open('GET', 'viper.ogg', true);

  requete.responseType = 'arraybuffer';


  requete.onload = function() {
    var donneesAudio = requete.response;

    contexteAudio.decodeAudioData(donneesAudio, function(buffer) {
        maMemoireTampon = buffer;
        dureeMorceau = buffer.duration;
        source.buffer = maMemoireTampon;
        source.playbackRate.value = playbackControl.value;
        source.connect(contexteAudio.destination);
        source.loop = true;

        loopstartControl.setAttribute('max', Math.floor(dureeMorceau));
        loopendControl.setAttribute('max', Math.floor(dureeMorceau));
      },

      function(e){"Erreur lors du décodage des données audio " + e.err});

  }

  requete.send();
}

// connecte les boutons pour lancer et arrêter la lecture, et modifier la vitesse de lecture

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

stop.onclick = function() {
  source.stop(0);
  play.removeAttribute('disabled');
  playbackControl.setAttribute('disabled', 'disabled');
}

playbackControl.oninput = function() {
  source.playbackRate.value = playbackControl.value;
  playbackValue.innerHTML = playbackControl.value;
}

Spécification

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

Compatibilité navigateurs

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

Voir aussi

Étiquettes et contributeurs liés au document

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