Baseline 2023
Newly available
Hinweis: Diese Funktion ist in Dedicated Web Workers verfügbar.
Die data
-Eigenschaft des RTCEncodedAudioFrame
-Interfaces gibt einen Puffer zurück, der die Daten für einen kodierten Frame enthält.
Ein ArrayBuffer
.
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 Browser-Kompatibilität Siehe auch MDN-Feedback-Box War diese Ãbersetzung hilfreich?Diese Seite wurde automatisch aus dem Englischen übersetzt.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4