我已经构建了一个 webRTC 应用程序,允许使用javascript通过网络传输音频和视频,现在我需要在 Android 手机上运行此网络应用程序。
我使用WebView在我的应用中加载了网址,但 WebView 似乎阻止了对相机和 Mic 我的手机。我已经用谷歌搜索了解决方案,但是我找到的任何东西都没有解决我的问题,如果有人能帮我解决这个问题我会非常坦克。
AndroidManifest文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="LexLoco.LexLoco" android:versionCode="1" android:versionName="1.0" android:installLocation="auto">
<uses-sdk android:minSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" />
<uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="com.android.voicemail.permission.READ_VOICEMAIL" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<application android:label="LexLoco"></application>
</manifest>
C#代码
Button button = FindViewById<Button>(Resource.Id.MyButton);
EditText txturl = FindViewById<EditText>(Resource.Id.editText1);
txturl.Text = URL;
WebView webV = FindViewById<WebView>(Resource.Id.webViewer);
WebSettings webSettings = webV.Settings;
webSettings.JavaScriptEnabled = true;
webSettings.AllowFileAccessFromFileURLs = true;
webSettings.AllowUniversalAccessFromFileURLs = true;
webV.SetWebViewClient(new WebViewClient());
button.Click += delegate {
webV.StopLoading();
webV.LoadUrl(txturl.Text);
};