RTCEncodedAudioFrame: Daten-Eigenschaft
        
        
          
                Baseline
                
                  2023
                
                
              
        
        Newly available
        
          
                
              
                
              
                
              
        
        
      
      Since August 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
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.
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
Loading…