AudioBufferSourceNode: Methode start()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
Die Methode start() der AudioBufferSourceNode
Schnittstelle wird verwendet, um die Wiedergabe der im Puffer enthaltenen Audiodaten zu planen oder
sofort mit der Wiedergabe zu beginnen.
Syntax
start(when)
start(when, offset)
start(when, offset, duration)
Parameter
whenOptional-
Die Zeit in Sekunden, zu der der Sound beginnen soll, im gleichen Zeitkoordinatensystem, das vom
AudioContextverwendet wird. Wennwhenkleiner als (AudioContext.currentTime) ist oder wenn es 0 ist, beginnt der Sound sofort zu spielen. Der Standardwert ist 0. offsetOptional-
Ein Offset, angegeben als Anzahl der Sekunden im gleichen Zeitkoordinatensystem wie
AudioContext, zur Zeit innerhalb des Audiopuffers, bei der die Wiedergabe beginnen soll. Zum Beispiel, um die Wiedergabe in der Mitte eines 10-sekündigen Audioclips zu starten, sollteoffset5 sein. Der Standardwert 0 beginnt die Wiedergabe am Anfang des Audiopuffers, und Offsets, die das Ende des abzuspielenden Audios überschreiten (basierend auf derdurationdes Audiopuffers und/oder derloopEndEigenschaft), werden stillschweigend auf den maximal zulässigen Wert begrenzt. Die Berechnung des Offsets in den Sound erfolgt unter Verwendung der natürlichen Abtastrate des Soundpuffers, nicht der aktuellen Wiedergabegeschwindigkeit, sodass selbst wenn der Sound mit doppelter Geschwindigkeit gespielt wird, der Mittelpunkt eines 10-sekündigen Audiopuffers immer noch bei 5 liegt. durationOptional-
Die Dauer der abzuspielenden Audiodaten, angegeben als Sekunden des gesamten Pufferinhalts. Wenn dieser Parameter nicht angegeben ist, spielt der Sound, bis er sein natürliches Ende erreicht oder mit der
stop()Methode angehalten wird. Der Wert ist unabhängig von derAudioBufferSourceNode.playbackRate, sodass beispielsweise bei einerdurationvon 2 Sekunden und einerplaybackRatevon22 Sekunden der Quelle abgespielt werden, was zu einem 1-sekündigen Audioausgang führt.
Rückgabewert
Keiner (undefined).
Ausnahmen
TypeError-
Wird ausgelöst, wenn ein negativer Wert für einen oder mehrere der drei Zeitparameter angegeben wurde. Bitte versuchen Sie nicht, die Gesetze der temporalen Physik zu umgehen.
InvalidStateErrorDOMException-
Wird ausgelöst, wenn
start()bereits aufgerufen wurde. Sie können diese Funktion nur einmal während der Lebensdauer einesAudioBufferSourceNodeaufrufen.
Beispiele
Das einfachste Beispiel startet einfach die Wiedergabe des Audiopuffers von Anfang an — in diesem Fall müssen keine Parameter angegeben werden:
source.start();
Das folgende komplexere Beispiel wird 1 Sekunde ab jetzt 10 Sekunden lang Sound abspielen, der 3 Sekunden in den Audiopuffer startet.
source.start(audioCtx.currentTime + 1, 3, 10);
Hinweis:
Für ein vollständigeres Beispiel zur Verwendung von start(), schauen Sie sich unser Beispiel zu AudioContext.decodeAudioData() an. Sie können auch das Beispiel live ausprobieren, und einen Blick auf den Beispielcode werfen.
Spezifikationen
| Specification |
|---|
| Web Audio API> # dom-audiobuffersourcenode-start> |