编程语言
首页 > 编程语言> > javascript-MediaRecorder.stop()不会清除选项卡中的录制图标

javascript-MediaRecorder.stop()不会清除选项卡中的录制图标

作者:互联网

我启动和停止MediaRecorder流.红色的“正在录制”图标在启动时显示在Chrome标签中,但在停止时不会消失.

图标如下所示:

enter image description here

我的代码如下所示:

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

我也定义了mediaRecorder.onstop处理程序.它不返回任何东西或干扰事件对象.

在启动和停止MediaRecorder实例之后清除标签的“记录”指示符的正确方法是什么?

解决方法:

这是因为此录制图标是getUserMedia流的一个,而不是MediaRecorder的一个.
当您停止MediaRecorder时,流仍处于活动状态.

要停止此gUM流(或任何其他MediaStream),请致电MediaStreamTrack.stop().

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

Fiddle因为stacksnippets即使使用https也不允许gum …

还有一个other fiddle,可通过MediaRecorder.stream访问该流.

标签:javascript,google-chrome,web-audio,web-mediarecorder
来源: https://codeday.me/bug/20191010/1887964.html