【问题标题】:Error while loading video in webview android studio. E/chromium: WebContentsDelegate::CheckMediaAccessPermission: Not supported在 webview android studio 中加载视频时出错。 E/铬:WebContentsDelegate::CheckMediaAccessPermission:不支持
【发布时间】:2022-07-19 22:47:18
【问题描述】:

我正在尝试使用 Peerjs 构建视频通话应用程序。因此,视频通话将使用 assest 文件夹中的 html 和 javascript 显示在 Web 视图上。 peerjs 代码部署在 heroku 上,在 web 浏览器上运行良好。

我在连接到视频时收到此错误。基本上其他人的视频没有加载。

E/chromium: [ERROR:web_contents_delegate.cc(218)]WebContentsDelegate::CheckMediaAccessPermission: Not supported.

这是我用于设置 webview 的代码

        binding.webView.settings.mediaPlaybackRequiresUserGesture = false
        binding.webView.settings.safeBrowsingEnabled = true
        binding.webView.settings.allowFileAccess = true
        binding.webView.addJavascriptInterface(VideoInterface(this), "Android")

        val cookieManager: CookieManager = CookieManager.getInstance()
        cookieManager.setAcceptThirdPartyCookies(binding.webView, true)

        @TargetApi(Build.VERSION_CODES.LOLLIPOP)
        binding.webView.webChromeClient = object: WebChromeClient() {
            override fun onPermissionRequest(request: PermissionRequest?) {
                request?.grant(request.resources);
            }
        }
        safeBrowsingIsInitialized = false

        if (WebViewFeature.isFeatureSupported(WebViewFeature.START_SAFE_BROWSING)) {
            WebViewCompat.startSafeBrowsing(root.context, ValueCallback<Boolean> { success ->
                safeBrowsingIsInitialized = true
                if (!success) {
                    Log.e("MY_APP_TAG", "Unable to initialize Safe Browsing!")
                }
            })
        } 

这是我的清单

   <uses-permission android:name="android.permission.CAMERA" />
   <uses-permission android:name="android.permission.RECORD_AUDIO" />

   <uses-permission android:name="android.webkit.PermissionRequest" />
   <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 

【问题讨论】:

  • 你有什么解决办法
  • 如果您的网址不是https://,可能会发生这种情况。
  • @AlexCohn 我实际上正在显示一个 html 文件,与之相关的代码位于 assets 文件夹中。它也部署在 heroku 上。
  • 是的,渲染本地 HTML 可能会导致这种情况。
  • @AlexCohn 有什么办法可以消除错误,因为我也需要 html 文件

标签: android android-studio webview webrtc peerjs


【解决方案1】:

在清单中添加 android:usesCleartextTraffic="true"

override fun onPermissionRequest(request: PermissionRequest?) {
                runOnUiThread {
                    request?.grant(request.resources)
                }
            }

【讨论】:

    猜你喜欢
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    相关资源
    最近更新 更多