间歇性地使用MediaRecorderAPI保持一致的空数据

Ami*_*gar 9 html5 html5-video mediarecorder webrtc getusermedia

我有一个简单的桌面捕获设置使用html5库.这包括一个简单的网页和一个chrome扩展名.我在用

  1. 扩展以获取sourceId
  2. 使用sourceId我调用navigator.mediaDevices.getUserMedia来获取MediaStream
  3. 然后将此MediaStream送入MediaRecorder实例进行录制.

此设置大部分时间都有效,但有几次我看到MediaRecorder实例上的requestData()会一致地返回带有空数据的blob.关于什么可能导致运行设置有时开始行为不端,我一无所知.

在糟糕的状态下我注意到的一些奇怪的行为:

  1. 当我尝试关闭/刷新窗口时,它没有响应.
  2. 上面步骤2)中的MediaStreamTrack对象是"实时",但是一旦我转到步骤3),它就变为"静音".
  3. 它没有任何模式,有时它甚至发生在我第一次请求MediaStreams时(它排除了可能有一些悬空资源占用上下文的可能性)

有什么我做错了而且没有意识到吗?任何帮助/指针将非常感谢!