我需要在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);
答案 0 :(得分:0)
试试这个:
PermissionStatus permission = await window.navigator.permissions.query({'name': 'microphone'});
现在您知道您是否有权限。 如果有权限则授予,如果没有则提示。(或如果被阻止则拒绝) 但在提示对话框获得许可的情况下,我使用了一个技巧,我第一次发送一个获取 UserMedia 的请求,它显示了请求对话框。
await navigator.mediaDevices.getUserMedia(mediaConstraints);
据我所知,浏览器不支持直接发送权限请求,您应该使用一些技巧来显示如上所示的对话框。