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.

技术参数

SpecificationStatusComment
Media Capture and Streams
MediaStreamTrack.stop()
Candidate RecommendationInitial specification.

浏览器兼容性

BCD tables only load in the browser

此页面上的兼容性表是根据结构化数据生成的。 如果您想贡献数据,请查看https://github.com/mdn/browser-compat-data并向我们发送请求请求。

看看别的

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:57 次

字数:4150

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文