getUserMedia仅使用音频将在几秒钟内在mac chrome上自行关闭

时间:2017-10-25 02:20:58

标签: javascript macos google-chrome webrtc getusermedia

下面的代码相同,您可以在Windows操作系统和Mac OS上的Chrome控制台中运行它。

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

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

在我的Windows上,它运行正常。

在我的项目中,没有任何代码被更改,它在过去的几个月里工作得很好......但是现在,它已经破坏了mac chrome ......

请参阅此处的示例代码Sample code

步骤:

  1. 点击show按钮,即可获得undefined

  2. 点击start按钮。

  3. 媒体启动后,单击show按钮,可以获得带active: true的MediaStream对象。您可以在Chrome标签上看到红色圆圈。

  4. 等待几秒钟(可能是10秒),您可以看到缺少Chrome选项卡上的红色圆圈,然后单击show按钮,您可以获得带有active: false的MediaStream对象。

  5. 顺便说一句,这个问题出在mac chromewindows chrome是正确的。

    ==============铬://媒体内部/ ====================

    使用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
    

1 个答案:

答案 0 :(得分:0)

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

我从module.exports = { 'Warm-Up Process': function (browser) { function urls(url) { return browser.launchUrl + url; } var json = require('./myexport.json'); json.forEach(function(callurl){ browser.url(urls(callurl)); browser.waitForElementVisible('body', 10000); }); browser.end(); } }; 升级了mac os,从10.12.5 -> 10.12.6升级了chrome,问题解决了。