[英]WebRtc webpage not working with flutter webview while it is working on browser
我最近创建了一个托管在 Ubuntu 上的 Webrtc web 应用程序。 它可以在浏览器上按预期工作,包括 PC 和移动浏览器。 它也要求相机和麦克风的许可。
当我在 flutter 上使用带有flutter_webview_pro插件的 web url 时,我的问题就开始了。 我知道我必须请求 flutter 的许可,我使用permission_handler插件执行以下操作:
bool _permissions = false;
final Completer<WebViewController> _controller =
Completer<WebViewController>();
@override
void initState() {
super.initState();
if (Platform.isAndroid) {
WebView.platform = SurfaceAndroidWebView();
}
permissions();
}
Future<void> permissions() async {
Map<Permission, PermissionStatus> multiPermissions = await [
Permission.camera,
Permission.microphone,
].request();
if(multiPermissions[Permission.camera] != PermissionStatus.granted){
_getCameraPermission();
} else if(multiPermissions[Permission.microphone] != PermissionStatus.granted){
_getMicrophonePermission(true);
} else {
setState(() {
_permissions = true;
});
}
}
void _getCameraPermission(){
Permission.camera.request().then((cameraStatus) {
if(cameraStatus.isGranted == true){
_getMicrophonePermission(true);
} else {
debugPrint('debug: Camera Permission Denied');
_getMicrophonePermission(false);
}
});
}
void _getMicrophonePermission(cameraPermission){
Permission.microphone.request().then((microphoneStatus) {
if(microphoneStatus.isGranted && cameraPermission){
setState(() {
_permissions = true;
});
} else {
debugPrint('debug: Permission Denied');
}
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: _permissions ? WebView(
javascriptMode: JavascriptMode.unrestricted,
initialUrl: 'https://subdomain.mydomain.com:8443/?room=123456',
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
) : Container(),
);
}
我收到以下错误:
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.cameraId"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.extrapackagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.aux.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.cameraId"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.extrapackagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.aux.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.cameraId"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.extrapackagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.cameraId"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.extrapackagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.aux.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.cameraId"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.packagelist"
E/libc ( 8244): Access denied finding property "vendor.camera.fullsize.extrapackagelist"
在 Menifest 我有以下权限:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.VIDEO_CAPTURE" />
<uses-permission android:name="android.permission.AUDIO_CAPTURE" />
和android:hardwareAccelerated="true"
请帮忙。 提前致谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.