MediaStreamTrackProcessor

MediaStreamTrackProcessor 接口属于 用于 MediaStreamTrack API 的可插入流,它使用 MediaStreamTrack 对象的源生成媒体帧流。

构造函数

MediaStreamTrackProcessor()

创建一个新的 MediaStreamTrackProcessor 对象。

实例属性

示例

以下示例来自文章 用于 MediaStreamTrack 的可插入流,并演示了一个条形码扫描器应用程序,该应用程序通过突出显示条形码来转换通过 MediaStreamTrackProcessor.readable 访问的流。

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);

规范

规范
使用流进行 MediaStreamTrack 可插入媒体处理
# track-processor-interface

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。