AudioBufferSourceNode.start()

La méthode start() de l'interface AudioBufferSourceNode permet de planifier la lecture du buffer audio.

Syntaxe

AudioBufferSourceNode.start([when][, offset][, duration]);

Paramètres

when Facultatif
Le paramètre when indique à quel moment la lecture doit commencer. Si when représente une date passée, la lecture commence immédiatement. Si la méthode est invoquée plus d'une fois, ou après un appel à AudioBufferSourceNode.stop(), une exception est levée.
Le temps, en secondes, auquel la lecture doit commencer, spécifié dans le même systèmes de coordonnées temporalles utilisé par AudioContext. Si when est inférieur à (AudioContext.currentTime, ou égal à 0, la lecture commence immédiatement. La valeur par défaut est 0.
offset Facultatif
Décalage, en secondes, indiquant où la lecture doit commencer. Par example, pour lancer la lecture au milieu d'un son durant 10 secondes, l'offset doit être 5. La valeur par défaut, 0, démarre la lecture au début du buffer. Les valeurs supérieures à la fin du son sont silencieusement ajustées à la valeur maximum possible (basée sur les propriétés duration et/ou loopEnd). Le calcul du décalage se fait en utilisant le taux d'échantillonnage original, donc même lorsqu'un son est lu au double de sa vitesse, le milieu d'un buffer de 10 secondes est toujours 5.
duration Facultatif
Le paramètre duration, dont la valeur par défaut est la longueur du contenu moins le décalage (offset) du début de lecture, indique la longueur du contenu audio qui doit être lue.
Durée du son qui doit être lue, en secondes. Si ce paramètre n'est pas spécifié ou a pour valeur 0 (valeur par défaut), le son est lu jusqu'à la fin, s'il n'est pas arrêté par la méthode stop(). L'utilisation de ce paramètre est fonctionellement équivalente à l'appel de la méthode start(when, offset) suivi de la méthode stop(when+duration).

Valeur de retour

undefined.

Exceptions

TypeError
Une valeur négative a été spécifiée pour au moins l'un des trois paramètres de temps. N'essayez pas de trafiquer les lois de la physique.
InvalidStateError
start() a déjà été appelé. Cette fonction ne peut être appelée qu'une seule fois pour chaque AudioBufferSourceNode.

Exemples

L'exemple le plus simple lance la lecture du buffer audio depuis le début - inutile de spécifier des paramètres dans ce cas:

source.start();

L'exemple suivant, plus complexe, jouera, après une seconde de pause, un tronçon d'une durée de 10 secondes à partir de la 3ème seconde des données en mémoire.

source.start(contexteAudio.currentTime + 1,3,10);

Note: Pour un exemple plus complexe montrant la méthode start() en action, consulter l'exemple AudioContext.decodeAudioData. Voir aussi  l'exemple complet et son code source.

Spécification

Spécification Statut Commentaire
Web Audio API
La définition de 'start()' 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
 Dernière mise à jour par : marie-ototoi,