MediaStreamTrackGenerator
非標準:此特性未標準化。我們不建議在生產環境中使用非標準特性,因為它們瀏覽器支援有限,並且可能會更改或被移除。但是,在沒有標準選項的特定情況下,它們可以是合適的替代方案。
注意: 建議使用 VideoTrackGenerator。
Insertable Streams for MediaStreamTrack API 中的 MediaStreamTrackGenerator 介面建立一個 WritableStream,它充當 MediaStreamTrack 的源。該物件消耗媒體幀流作為輸入,可以是音訊幀或影片幀。
建構函式
MediaStreamTrackGenerator()實驗性 非標準-
建立一個新的
MediaStreamTrackGenerator物件,該物件接受VideoFrame或AudioData物件。
例項屬性
此介面還繼承了 MediaStreamTrack 的屬性。
MediaStreamTrackGenerator.writable實驗性 非標準-
一個
WritableStream。
例項方法
此介面不實現任何特定方法,但繼承了 MediaStreamTrack 的方法。
示例
以下示例來自文章 Insertable streams for MediaStreamTrack,它演示了一個條形碼掃描器應用程式,該應用程式處理條形碼並高亮顯示它們,然後將轉換後的幀寫入 MediaStreamTrackGenerator.writable 的可寫流。
js
const stream = await getUserMedia({ video: true });
const videoTrack = stream.getVideoTracks()[0];
const trackProcessor = new MediaStreamTrackProcessor({ track: videoTrack });
const trackGenerator = new MediaStreamTrackGenerator({ kind: "video" });
const transformer = new TransformStream({
async transform(videoFrame, controller) {
const barcodes = await detectBarcodes(videoFrame);
const newFrame = highlightBarcodes(videoFrame, barcodes);
videoFrame.close();
controller.enqueue(newFrame);
},
});
trackProcessor.readable
.pipeThrough(transformer)
.pipeTo(trackGenerator.writable);
另見
規範
此特性似乎未在任何規範中定義。瀏覽器相容性
載入中…