MediaStreamTrackGenerator
非标准: 此功能是非标准的,不在标准化轨道上。请勿在面向 Web 的生产网站上使用它:它不会适用于所有用户。不同实现之间可能存在重大差异,并且行为可能会在将来发生变化。
MediaStreamTrackGenerator
接口是 用于 MediaStreamTrack API 的可插入流 的一部分,它创建了一个 WritableStream
,充当 MediaStreamTrack
源。该对象使用媒体帧流作为输入,这些帧可以是音频帧或视频帧。
构造函数
MediaStreamTrackGenerator()
实验性 非标准-
创建一个新的
MediaStreamTrackGenerator
对象,它接受VideoFrame
或AudioData
对象。
实例属性
此接口还继承了 MediaStreamTrack
的属性。
MediaStreamTrackGenerator.writable
实验性 非标准-
一个
WritableStream
。
实例方法
此接口不实现任何特定方法,但继承了 MediaStreamTrack
的方法。
示例
以下示例来自文章 用于 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);
规范
未找到规范
未找到 api.MediaStreamTrackGenerator
的规范数据。
检查此页面的问题 或向 mdn/browser-compat-data 贡献缺失的 spec_url
。还要确保规范包含在 w3c/browser-specs.
浏览器兼容性
BCD 表只在启用 JavaScript 的浏览器中加载。