【发布时间】: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