Android WebView 视频播放,音频正常,但没有图像 - 浏览器中正常。
创始人
2024-08-19 08:00:05
0

要解决Android WebView视频播放没有图像的问题,但在浏览器中正常播放音频的问题,可以尝试以下方法:

  1. 更新WebView设置:
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
  1. 添加WebViewClient并覆盖shouldOverrideUrlLoading()方法:
webView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
});
  1. 添加WebChromeClient并覆盖onShowCustomView()方法:
webView.setWebChromeClient(new WebChromeClient(){
    @Override
    public void onShowCustomView(View view, CustomViewCallback callback) {
        // 检查是否已经有全屏视图
        if (mCustomView != null) {
            callback.onCustomViewHidden();
            return;
        }
        mCustomView = view;
        mCustomViewCallback = callback;
        mOriginalSystemUiVisibility = getWindow().getDecorView().getSystemUiVisibility();
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        mCustomViewContainer.addView(mCustomView, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        mCustomViewContainer.setVisibility(View.VISIBLE);
    }
});
  1. 在Activity的onBackPressed()方法中添加以下代码:
@Override
public void onBackPressed() {
    if (mCustomView != null) {
        onHideCustomView();
    } else if (webView.canGoBack()) {
        webView.goBack();
    } else {
        super.onBackPressed();
    }
}

private void onHideCustomView() {
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    getWindow().getDecorView().setSystemUiVisibility(mOriginalSystemUiVisibility);
    getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
    mCustomViewContainer.setVisibility(View.GONE);
    mCustomViewCallback.onCustomViewHidden();
    mCustomView = null;
}

请确保在AndroidManifest.xml文件中添加了Internet权限:


这些方法应该能够解决Android WebView视频播放没有图像的问题。如果问题仍然存在,可能需要检查视频源是否适配WebView,并确保WebView版本较新。

相关内容

热门资讯

第四开挂(德扑ai怎么系统)外... 第四开挂(德扑ai怎么系统)外挂透明挂辅助挂(透视)黑科技教程(发现有挂)-哔哩哔哩;德扑ai怎么系...
第1辅助!欢乐麻将系统故意让你... 第1辅助!欢乐麻将系统故意让你输(透视)太坑了原来真的有挂(竟然有挂)-哔哩哔哩1、下载好欢乐麻将系...
第2个针对!wopoker辅助... 第2个针对!wopoker辅助真的假的(透明挂)辅助挂(真是有挂)-哔哩哔哩1、这是跨平台的poke...
六个神器!德扑之星比赛创建设置... 六个神器!德扑之星比赛创建设置(胜率计算的软件)辅助透视(有人有挂)-哔哩哔哩;(需添加指定薇757...
第2计算器(来玩德州挂)外挂透... 第2计算器(来玩德州挂)外挂透明挂辅助器安装(辅助挂)透视教程(有挂助手)-哔哩哔哩;人气非常高,a...
3检测!西兵互娱牛牛辅助是真的... 3检测!西兵互娱牛牛辅助是真的是假(辅助挂)太坑了其实真的有挂(有挂秘诀)-哔哩哔哩是一款可以让一直...
六个安卓版本!微扑克辅助安卓版... 六个安卓版本!微扑克辅助安卓版本(德州专用辅助器游戏平台)透视辅助(有挂总结)-哔哩哔哩;支持2-1...
第3个专用!德扑之星操作(智能... 第3个专用!德扑之星操作(智能)辅助透视(今日头条)-哔哩哔哩;德扑之星是一款益智类棋牌手游,可以说...
第5线上(Wepoke技巧)外... 1、第5线上(Wepoke技巧)外挂透明挂辅助神器(辅助挂)黑科技教程(有挂分享)-哔哩哔哩。2、W...
5盈利!聚星扑克有没有挂(辅助... 5盈利!聚星扑克有没有挂(辅助挂)太坑了原来真的有挂(有挂教学)-哔哩哔哩是一款可以让一直输的玩家,...