RTCEncodedAudioFrame: data 屬性
注意:此功能在 專用 Web Workers 中可用。
data 屬性是 RTCEncodedAudioFrame 介面的一部分,它返回一個包含已編碼幀資料的緩衝區。
值
一個 ArrayBuffer。
示例
此示例 WebRTC 已編碼轉換 展示瞭如何在 TransformStream 的 transform() 函式中獲取幀資料並修改位元。
transform() 函式在幀 data 屬性的緩衝區上構造一個 DataView,並且還建立了一個新的 ArrayBuffer 檢視。然後,它將原始資料中的位元組進行取反並寫入新緩衝區,將該緩衝區分配給已編碼幀的 data 屬性,並將修改後的幀加入到流中。
js
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);
});
請注意,此處顯示的 surrounding code 在 使用 WebRTC 已編碼轉換 中有描述。
規範
| 規範 |
|---|
| WebRTC Encoded Transform # dom-rtcencodedaudioframe-data |
瀏覽器相容性
載入中…