MediaStreamTrack.stop()
MediaStreamTrack.stop()
方法停止跟踪。
语法
track.stop()
说明
调用stop()
告诉user agent ,MediaStreamTrack
不再需要轨道的来源,无论该来源是什么,包括文件,网络流,本地摄像机或麦克风。由于多个音轨可能使用同一音源(例如,如果两个选项卡使用设备的麦克风),则音源本身并不一定会立即停止。 而是从轨道取消关联,并且停止跟踪对象。 一旦没有媒体轨道正在使用源,则实际上可能会完全停止该源。
调用stop()
之后,readyState
属性立即设置为ended
。
示例
停止视频流
在此示例中,我们看到一个函数,该函数通过在给定<video>
的每个轨道上调用stop()
来停止流式视频。
function stopStreamedVideo(videoElem) {
const stream = videoElem.srcObject;
const tracks = stream.getTracks();
tracks.forEach(function(track) {
track.stop();
});
videoElem.srcObject = null;
}
这是通过从其srcObject
属性获得视频元素的流来实现的。 然后,通过调用其getTracks()
方法来获取流的轨道列表。 从那里开始,剩下要做的就是使用forEach()
遍历轨道列表并调用每个轨道的stop()
方法。
最后,将srcObject
设置为null
以切断与MediaStream
对象的链接,以便将其释放。
Finally, srcObject
is set to null
to sever the link to the MediaStream
object so it can be released.
技术参数
Specification | Status | Comment |
---|---|---|
Media Capture and Streams MediaStreamTrack.stop() |
Candidate Recommendation | Initial specification. |
浏览器兼容性
BCD tables only load in the browser