MediaRecorder.stop()不清除选项卡中的记录图标(MediaRecorder.sto

2019-10-29 15:00发布

我启动和停止MediaRecorder流。 红色的“记录”图标显示在启动Chrome标签,但不走就停止。

图标看起来是这样的:

我的代码如下所示:

const mediaRecorder = new MediaRecorder(stream);
...
// Recording icon in the tab becomes visible.
mediaRecorder.start();
...
// Recording icon is still visible.
mediaRecorder.stop();

我也有一个mediaRecorder.onstop处理函数定义。 它不返回任何内容或与该事件对象干扰。

什么是明确的选项卡中的“记录”指示启动和停止MediaRecorder实例后的正确方法?

Answer 1:

这是因为该记录图标的一个getUserMedia流,不是的一个MediaRecorder
当你stop了MediaRecorder,流仍然有效。

为了制止这种胶物流(或任何其他MediaStream),你会打电话MediaStreamTrack.stop()

stream.getTracks() // get all tracks from the MediaStream
  .forEach( track => track.stop() ); // stop each of them

小提琴 ,因为stacksnippets不允许胶甚至以https ...

和其他的小提琴 ,其中流通过访问MediaRecorder.stream



文章来源: MediaRecorder.stop() doesn't clear the recording icon in the tab