【问题标题】:How to set the microphone ask(default) for all the time in getUserMedia()?如何在getUserMedia()中始终设置麦克风询问(默认)?
【发布时间】:2020-10-27 11:06:32
【问题描述】:

我正在做一个语音到文本的项目。它只有一个麦克风选项。无论您说什么,它都会读取输入并在文本区域中向您显示转换后的文本。 我想要的是每当我点击停止按钮时,它应该关闭允许询问的权限(默认)。因为它只会在https中第一次询问。那么,我们怎样才能让它一直请求许可呢? 在 HTTP 中它会一直询问。同样,我也希望 https 也一样。

请帮忙。 我厌倦了寻找可以完成这项工作的那段代码。 提前致谢。

已编辑

 navigator.permissions.query({name:'microphone'}).then(function(result){
              if(result.state=="granted"){
                result.state="prompt"
              }
            });

我可以操作浏览器的权限状态,比如从授予到提示?

【问题讨论】:

    标签: javascript webrtc getusermedia


    【解决方案1】:

    navigator.permissions.revoke('microphone') 可能会起作用。但是,不幸的是,the revoke() method 已被弃用。

    因此,明智的做法是不要在应用中依赖此要求。

    在 iOS Safari 上,它每次都会询问。

    【讨论】:

      【解决方案2】:

      通常,这不是你的工作。这由客户端设置控制。当用户启动应用程序(网络应用程序)时,系统将检查相机/麦克风/联系人等的权限。用户将决定是否每次都要求他授予。对于您的,如果在浏览器中运行,系统将检查浏览器权限,而不是您的 WEB 应用程序。如果其他网站需要先获得麦克风权限,则在启动您的应用程序时,通常无需再次询问。此外,您的应用撤销麦克风也会禁用其他网络应用。不正确!

      【讨论】:

      • 好的!我找到了一段代码,它可以检查权限状态是提示、授予还是拒绝。那么,我可以操纵权限吗?例如,如果我已授予状态,我可以将其更改为通过代码提示吗?我已经编辑了问题并将代码放在那里。
      • 我不这么认为。权限应该由系统控制,而不是浏览器。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 2013-03-22
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多