我正在尝试创建一个包含webRTC的Web视图,但是当我尝试授予加入权限以访问会议室时,出现以下错误: “无法访问本地媒体。错误名称是NotAllowedError。计数时没有sendig流”。 。预先感谢。
@SuppressLint("SetJavaScriptEnable")
private void initWebView(){
webView = findViewById(R.id.WebViewID);
webView.setWebChromeClient(new WebChromeClient(){
@Nullable
@Override
public Bitmap getDefaultVideoPoster() {
return Bitmap.createBitmap(10, 10, Bitmap.Config.ARGB_8888);
}
});
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setUseWideViewPort(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSettings.setMediaPlaybackRequiresUserGesture(false);
webView.loadUrl(url);
}
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
答案 0 :(得分:0)
仅通过以下方式在清单中声明权限是不够的:
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
您将不得不要求用户在代码(reference)中授予这些权限,或者手动进入设备中的权限设置并授予所需的应用程序Camera
和{{1 }}权限。这样做应该可以解决问题。