我的 webview 视频适用于模拟器,但不适用于设备

Posted

技术标签:

【中文标题】我的 webview 视频适用于模拟器,但不适用于设备【英文标题】:My webview video works on emulator but no on device 【发布时间】:2019-10-09 12:31:30 【问题描述】:

我正在开发一个 WebRTC webview 项目。我正在播放具有摄像头和麦克风权限的视频。视频可以在模拟器上运行,但不能在手机上运行。按钮进来,相机打开,但视频没有出现。在白屏上留下。

API 级别与 API 28 相同。

我的代码在这里

initview()

mWebView = (WebView) findViewById(R.id.wb);
        mWebView.requestFocus();
        mWebView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        WebSettings settings = mWebView.getSettings();
        settings.setDomStorageEnabled(true);
        mWebView.setWebViewClient(new MyWebViewClient());
        WebChromeClientCustomPoster chromeClient = new WebChromeClientCustomPoster();
        mWebView.setWebChromeClient(chromeClient);
        mWebView.getSettings().setjavascriptEnabled(true);
        mWebView.setWebChromeClient(new WebChromeClient() 
            @Override
            public void onPermissionRequest(final PermissionRequest request) 


                MainActivity.this.runOnUiThread(new Runnable()
                    @TargetApi(Build.VERSION_CODES.M)
                    @Override
                    public void run() 
                        request.grant(request.getResources());

                    // run
                );// MainActivity

            // onPermissionRequest
        );// setWebChromeClient


        mWebView.loadUrl("http://google.com");

【问题讨论】:

【参考方案1】:

我找到了答案。 我加了

mWebView.getSettings().setMediaPlaybackRequiresUserGesture(false)

应用程序运行良好。

【讨论】:

以上是关于我的 webview 视频适用于模拟器,但不适用于设备的主要内容,如果未能解决你的问题,请参考以下文章

AVPlayerViewController 视频适用于 iOS 11、12,但不适用于 iPhone 11 的 iOS 13

Webview 适用于 iphone 但不适用于 ipad

正在尝试在 Android 设备上检索位置...适用于模拟器,但不适用于真实设备

iOS 项目适用于 iPhone,但不适用于模拟器

NSKeyedArchiver 适用于模拟器,但不适用于实际设备

声音仅适用于设备,但不适用于模拟器