无法访问Android Webview上的本地媒体

时间:2018-07-06 13:21:58

标签: android webview webrtc

我正在尝试创建一个包含webRTC的Web视图,但是当我尝试授予加入权限以访问会议室时,出现以下错误: “无法访问本地媒体。错误名称是NotAllowedError。计数时没有sendig流”。 。预先感谢。

Here is a screenshot

@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"/>

1 个答案:

答案 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 }}权限。这样做应该可以解决问题。