--- title: AudioBufferSourceNode.start() slug: Web/API/AudioBufferSourceNode/start translation_of: Web/API/AudioBufferSourceNode/start ---
{{ APIRef("Web Audio API") }}
La méthode start()
de l'interface {{ domxref("AudioBufferSourceNode") }} permet de planifier la lecture du buffer audio.
AudioBufferSourceNode.start([when][, offset][, duration]);
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.when
est inférieur à ({{domxref("AudioContext.currentTime")}}, ou égal à 0, la lecture commence immédiatement. La valeur par défaut est 0.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 {{domxref("AudioBuffer.duration", "duration")}} et/ou {{domxref("AudioBufferSourceNode.loopEnd", "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
, 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.start(when, offset)
suivi de la méthode stop(when+duration)
.{{jsxref("undefined")}}.
TypeError
InvalidStateError
start()
a déjà été appelé. Cette fonction ne peut être appelée qu'une seule fois pour chaque AudioBufferSourceNode
.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 {{domxref("AudioContext.decodeAudioData")}}. Voir aussi l'exemple complet et son code source.
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('Web Audio API', '#widl-AudioBufferSourceNode-start-void-double-when-double-offset-double-duration', 'start()')}} | {{Spec2('Web Audio API')}} |
Fonctionnalité | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Support basique | 14 {{property_prefix("webkit")}} | {{CompatVersionUnknown}} | 23 | {{CompatNo}} | 15 {{property_prefix("webkit")}} 22 (unprefixed) |
6 {{property_prefix("webkit")}} |
Fonctionnalité | Android | Chrome | Edge | Firefox Mobile (Gecko) | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|---|
Support basique | {{CompatNo}} | 28 {{property_prefix("webkit")}} | {{CompatVersionUnknown}} | 25 | 1.2 | {{CompatNo}} | {{CompatNo}} | 6 {{property_prefix("webkit")}} |