getUserMedia use audio only 将在 mac chrome 几秒后自行关闭

getUserMedia use audio only will be closed by itself in few seconds on mac chrome

下面的相同代码,您可以在 windows OS 和 Mac OS 的 chrome 控制台中 运行 它。 =26=]

navigator.mediaDevices.getUserMedia({audio: true})

在我的Mac上,它会在几秒钟后关闭。

在我的 Windows 上,它工作正常。

在我的项目中,没有任何代码更改,过去几个月它运行良好...但是最近,它在 mac chrome...

在此处查看示例代码Sample code

步骤:

  1. 点击show按钮,可以得到undefined

  2. 单击 start 按钮。

  3. Media启动后,点击show按钮,可以得到一个active: true的MediaStream对象。你可以在 chrome 选项卡上看到红色圆圈。

  4. 稍等几秒(可能是10s),可以看到chrome选项卡上的红圈会丢失,然后点击show按钮,就可以得到一个MediaStream active: false.

  5. 对象

顺便说一句,这个问题在 mac chrome 上,windows chrome 是正确的。

==============chrome://media-internals/=================== =

使用getUserMedia({audio: true})后,它显示input controllers中的项目,然后我按如下方式打开它,但几秒钟后。该项目消失了。

channel_layout: STEREO
channels: 2
component_id: 5
component_type: 0
device_id: default
device_type: pcm_low_latency
effects: NO_EFFECTS
frames_per_buffer: 441
owner_id: 6976
render_process_id: 7664
sample_rate: 44100
status: started
web_contents_title: javascript - getUserMedia use audio only will be closed by itself in few seconds on mac chrome - Stack Overflow

不确定,可能是 OS 和 chrome 的问题。

我从 10.12.5 -> 10.12.6 升级 mac os,从 61 -> 62 升级 chrome,问题已解决。