【问题标题】:Request microphone Permission Flutter Web请求麦克风权限 Flutter Web
【发布时间】:2021-01-26 02:01:52
【问题描述】:

我需要在我的 Flutter Web 应用程序中使用麦克风。我尝试了下面的代码,但它只有在我请求 'camera' 时才有效。

final perm = await html.window.navigator.permissions.query({"name": "camera"});
    if (perm.state == "denied") {
      Scaffold.of(context).showSnackBar(SnackBar(
        content: Text("Oops! Camera access denied!"),
        backgroundColor: Colors.orangeAccent,
      ));
      return;
    }
    final stream = await html.window.navigator.getUserMedia(video: true);

【问题讨论】:

    标签: html flutter flutter-web navigator


    【解决方案1】:

    试试这个:

    PermissionStatus permission = await window.navigator.permissions.query({'name': 'microphone'});
    

    现在你知道你是否有权限。 如果有权限则授予,如果没有则提示。(如果被阻止,则拒绝) 但是在提示对话框获得许可的情况下,我使用了一个技巧,我第一次发送了一个获取 UserMedia 的请求,它显示了请求对话框。

    await navigator.mediaDevices.getUserMedia(mediaConstraints);
    

    据我所知,浏览器不支持直接发送权限请求,您应该使用一些技巧来显示上述对话框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-09
      • 2019-09-15
      • 2019-04-25
      相关资源
      最近更新 更多