RTCEncodedAudioFrame: Daten-Eigenschaft
Hinweis: Dieses Feature ist verfügbar in Dedicated Web Workers.
Die data
-Eigenschaft des RTCEncodedAudioFrame
-Interfaces gibt einen Puffer zurück, der die Daten für einen kodierten Frame enthält.
Wert
Ein ArrayBuffer
.
Beispiele
Dieses Beispiel eines WebRTC-kodierten Transforms zeigt, wie Sie die Frame-Daten in einer TransformStream
-transform()
-Funktion abrufen und die Bits modifizieren könnten.
Die transform()
-Funktion erstellt ein DataView
auf dem Puffer in der data
-Eigenschaft des Frames und erzeugt ebenfalls eine Ansicht auf einem neuen ArrayBuffer
.
Dann schreibt sie die negierten Bytes der ursprünglichen Daten in den neuen Puffer, weist den Puffer der data
-Eigenschaft des kodierten Frames zu und stellt den modifizierten Frame im Stream in die Warteschlange.
addEventListener("rtctransform", (event) => {
const transform = new TransformStream({
async transform(encodedFrame, controller) {
// Reconstruct the original frame.
const view = new DataView(encodedFrame.data);
// Construct a new buffer
const newData = new ArrayBuffer(encodedFrame.data.byteLength);
const newView = new DataView(newData);
// Negate all bits in the incoming frame
for (let i = 0; i < encodedFrame.data.byteLength; ++i) {
newView.setInt8(i, ~view.getInt8(i));
}
encodedFrame.data = newData;
controller.enqueue(encodedFrame);
},
});
event.transformer.readable
.pipeThrough(transform)
.pipeTo(event.transformer.writable);
});
Beachten Sie, dass der umgebende Code hier im Abschnitt Using WebRTC Encoded Transforms beschrieben wird.
Spezifikationen
Specification |
---|
WebRTC Encoded Transform # dom-rtcencodedaudioframe-data |
Browser-Kompatibilität
BCD tables only load in the browser