RTCEncodedAudioFrame: свойство data
Примечание: Данная функция доступна в посвященных веб-воркерах.
Свойство data интерфейса RTCEncodedAudioFrame возвращает буфер, содержащий данные закодированной фрейма.
Значение
Объект ArrayBuffer.
Примеры
В этом примере преобразования кодирования WebRTC показано, как получить данные фрейма в TransformStream transform() функция может изменить биты.
Функция transform() создает DataView на буфере в свойстве фрейма data и также создает представление на новом ArrayBuffer. Затем она записывает отрицательные байты исходных данных в новый буфер, присваивает буфер свойству закодированного фрейма data и добавляет измененный фрейм в поток.
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);
});
Обратите внимание, что окружающий код описан в Использование преобразований кодирования WebRTC.
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
data |
86 | 86 | 117 | 72 | 15.4 | 86 | 117 | 61 | 15.4 | 14.0 | 86 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/RTCEncodedAudioFrame/data