MediaStreamTrack: stop() 方法
报告反馈
语法
stop()
方法是 MediaStreamTrack
接口的方法,用于停止轨道。stop()
js
参数
无。
返回值
描述
无 (undefined
)。
调用 stop()
会告诉 用户代理,轨道源(无论源是什么,包括文件、网络流或本地摄像头或麦克风)不再需要 MediaStreamTrack
。
示例
由于多个轨道可能使用相同的源(例如,如果两个选项卡使用设备的麦克风),源本身不一定立即停止。相反,它将与轨道分离,并且轨道对象将停止。一旦没有媒体轨道使用该源,该源实际上可能会完全停止。
在调用 stop()
后,readyState
属性将设置为 ended
。请注意,在这种情况下不会触发 ended
事件。
stop()
方法是 MediaStreamTrack
接口的方法,用于停止轨道。function stopStreamedVideo(videoElem) {
const stream = videoElem.srcObject;
const tracks = stream.getTracks();
tracks.forEach((track) => {
track.stop();
});
videoElem.srcObject = null;
}
停止视频流
在此示例中,我们看到一个函数,它通过对给定 <video>
上的每个轨道调用 stop()
来停止流式视频。
规范
这是通过从视频元素的 srcObject 属性获取视频元素的流来实现的。然后,通过调用流的 getTracks() 方法获取流的轨道列表。从这里,剩下的就是使用 forEach() 遍历轨道列表并调用每个轨道的 stop() 方法。 |
---|
最后,srcObject 设置为 null 以切断与 MediaStream 对象的链接,以便可以释放它。 # 规范 |
浏览器兼容性
媒体捕获和流
另请参阅
- BCD 表仅在浏览器中加载
在启用 JavaScript 的情况下。启用 JavaScript 以查看数据。
ended