AudioBufferSourceNode: start()-Methode
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die Methode start() des Interfaces AudioBufferSourceNode wird verwendet, um die Wiedergabe der im Puffer enthaltenen Audiodaten zu planen oder sofort zu starten.
Syntax
start(when)
start(when, offset)
start(when, offset, duration)
Parameter
whenOptional-
Der Zeitpunkt in Sekunden, zu dem die Wiedergabe beginnen soll, im selben Zeitkoordinatensystem, das auch der
AudioContextverwendet. Wennwhenkleiner alsAudioContext.currentTimeoder gleich 0 ist, beginnt die Wiedergabe sofort. Der Standardwert ist 0. offsetOptional-
Ein Versatz in Sekunden innerhalb des Audiopuffers, ab dem die Wiedergabe beginnen soll. Er wird im selben Zeitkoordinatensystem wie der
AudioContextangegeben. Soll die Wiedergabe beispielsweise in der Mitte eines 10 Sekunden langen Audioclips beginnen, mussoffsetden Wert 5 haben. Beim Standardwert 0 beginnt die Wiedergabe am Anfang des Audiopuffers. Versätze, die über das Ende des wiederzugebenden Audiomaterials hinausgehen – bestimmt durch diedurationdes Audiopuffers und/oder die EigenschaftloopEnd–, werden ohne Fehlermeldung auf den maximal zulässigen Wert begrenzt. Der Versatz innerhalb des Audiomaterials wird anhand der ursprünglichen Abtastrate des Puffers berechnet, nicht anhand der aktuellen Wiedergabegeschwindigkeit. Selbst wenn das Audiomaterial mit doppelter Geschwindigkeit wiedergegeben wird, liegt die Mitte eines 10 Sekunden langen Audiopuffers daher weiterhin bei 5. durationOptional-
Die Dauer der wiederzugebenden Audiodaten, angegeben in Sekunden des Pufferinhalts. Wird dieser Parameter nicht angegeben, läuft die Wiedergabe bis zum natürlichen Ende oder bis sie mit der Methode
stop()angehalten wird. Der Wert ist unabhängig vonAudioBufferSourceNode.playbackRate: Bei einerdurationvon 2 Sekunden und einerplaybackRatevon2werden beispielsweise 2 Sekunden des Quellmaterials wiedergegeben, woraus 1 Sekunde Audioausgabe entsteht.
Rückgabewert
Keiner (undefined).
Ausnahmen
TypeError-
Wird ausgelöst, wenn für mindestens einen der drei Zeitparameter ein negativer Wert angegeben wurde. Versuchen Sie bitte nicht, die Gesetze der Zeitphysik außer Kraft zu setzen.
InvalidStateErrorDOMException-
Wird ausgelöst, wenn
start()bereits aufgerufen wurde. Diese Funktion kann während der Lebensdauer einesAudioBufferSourceNodenur einmal aufgerufen werden.
Beispiele
Das einfachste Beispiel startet die Wiedergabe des Audiopuffers am Anfang. Dafür müssen Sie keine Parameter angeben:
source.start();
Das folgende, komplexere Beispiel beginnt in 1 Sekunde mit der Wiedergabe von 10 Sekunden Audiomaterial, beginnend 3 Sekunden nach dem Anfang des Audiopuffers.
source.start(audioCtx.currentTime + 1, 3, 10);
Hinweis:
Ein ausführlicheres Beispiel für die Verwendung von start() finden Sie in unserem Beispiel zu AudioContext.decodeAudioData(). Sie können das Beispiel auch direkt ausprobieren und sich den Quellcode des Beispiels ansehen.
Spezifikationen
| Spezifikation |
|---|
| Web Audio API> # dom-audiobuffersourcenode-start> |