1. Web
  2. Web-APIs
  3. AudioWorkletGlobalScope
  4. currentFrame

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

View in English Always switch to English

AudioWorkletGlobalScope: currentFrame Eigenschaft

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2021 browserübergreifend verfügbar.

Die schreibgeschützte currentFrame-Eigenschaft der AudioWorkletGlobalScope-Schnittstelle gibt ein Integer zurück, das den stetig zunehmenden aktuellen Sample-Frame des zu verarbeitenden Audio-Blocks darstellt. Es wird nach der Verarbeitung jedes Audio-Blocks um 128 (die Größe eines Render-Quantum) erhöht.

Wert

Eine ganze Zahl.

Beispiele

Der AudioWorkletProcessor hat Zugriff auf die spezifischen Eigenschaften des AudioWorkletGlobalScope:

js
// AudioWorkletProcessor defined in : test-processor.js
class TestProcessor extends AudioWorkletProcessor {
 constructor() {
 super();
 // Logs the current sample-frame and time at the moment of instantiation.
 // They are accessible from the AudioWorkletGlobalScope.
 console.log(currentFrame);
 console.log(currentTime);
 }
 // The process method is required - output silence,
 // which the outputs are already filled with.
 process(inputs, outputs, parameters) {
 return true;
 }
}
// Logs the sample rate, that is not going to change ever,
// because it's a read-only property of a BaseAudioContext
// and is set only during its instantiation.
console.log(sampleRate);
// You can declare any variables and use them in your processors
// for example it may be an ArrayBuffer with a wavetable.
const usefulVariable = 42;
console.log(usefulVariable);
registerProcessor("test-processor", TestProcessor);

Das Hauptskript lädt den Prozessor, erstellt eine Instanz von AudioWorkletNode, übergibt den Namen des Prozessors an ihn und verbindet den Knoten mit einem Audio-Graph. Wir sollten die Ausgabe der console.log()-Aufrufe in der Konsole sehen:

js
const audioContext = new AudioContext();
await audioContext.audioWorklet.addModule("test-processor.js");
const testNode = new AudioWorkletNode(audioContext, "test-processor");
testNode.connect(audioContext.destination);

Spezifikationen

Spezifikation
Web Audio API
# dom-audioworkletglobalscope-currentframe

Browser-Kompatibilität

Siehe auch

Help improve MDN

Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /