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.

浏览器兼容性

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
stopChrome Full support 61Edge Full support 12Firefox Full support 34IE No support NoOpera Full support 45Safari Full support YesWebView Android Full support 61Chrome Android Full support 61Firefox Android Full support 34Opera Android Full support 43Safari iOS Full support YesSamsung Internet Android Full support 8.0

Legend

Full support  
Full support
No support  
No support

看看别的