Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

js
start(when)
start(when, offset)
start(when, offset, duration)

Parameter

when Optional

Die Zeit in Sekunden, zu der der Sound beginnen soll, im gleichen Zeitkoordinatensystem, das vom AudioContext verwendet wird. Wenn when kleiner als (AudioContext.currentTime) ist oder wenn es 0 ist, beginnt der Sound sofort zu spielen. Der Standardwert ist 0.

offset Optional

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, sollte offset 5 sein. Der Standardwert 0 beginnt die Wiedergabe am Anfang des Audiopuffers, und Offsets, die das Ende des abzuspielenden Audios überschreiten (basierend auf der duration des Audiopuffers und/oder der loopEnd Eigenschaft), 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.

duration Optional

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 der AudioBufferSourceNode.playbackRate, sodass beispielsweise bei einer duration von 2 Sekunden und einer playbackRate von 2 2 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.

InvalidStateError DOMException

Wird ausgelöst, wenn start() bereits aufgerufen wurde. Sie können diese Funktion nur einmal während der Lebensdauer eines AudioBufferSourceNode aufrufen.

Beispiele

Das einfachste Beispiel startet einfach die Wiedergabe des Audiopuffers von Anfang an — in diesem Fall müssen keine Parameter angegeben werden:

js
source.start();

Das folgende komplexere Beispiel wird 1 Sekunde ab jetzt 10 Sekunden lang Sound abspielen, der 3 Sekunden in den Audiopuffer startet.

js
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

Browser-Kompatibilität

Siehe auch