MediaStreamTrack.stop() - Web API 接口参考 编辑
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
此页面上的兼容性表是根据结构化数据生成的。 如果您想贡献数据,请查看https://github.com/mdn/browser-compat-data并向我们发送请求请求。看看别的
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论