WebView 实现网络视频播放

本文提供了一个用于播放网络视频的Android应用程序代码示例。该代码通过WebView组件加载指定URL的视频内容,并进行了详细的配置以确保良好的播放体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接奉献整合的代码,可以实现网络视频播放
/**
*@time 2017-4-25
* @des 视频播放 页面
*
* **/
public class VideoPlayActivity extends Activity {

private WebView webView;
private WebSettings webSettings;

// private String loadUrl= “http://player.youku.com/embed/XNTM5MTUwNDA0“;
// private String loadUrl= “http://www.56.com/w79/play_album-aid-14441653_vid-MTQ0NjY3MTU0.html“;

// private String loadUrl= “http://v.youku.com/v_show/id_XMzYzMzkxMzY=.html#“;
private String loadUrl= “http://baidu.ku6.com/watch/05989197669363749268.html“;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    CommonUtils.setScreenFullAndLight(this);
    //开启硬件加速
    getWindow().setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
    setContentView(R.layout.activity_video_play);
    initWidget();

}

private void initWidget() {

    webView =(WebView)findViewById(R.id.webView);
    webSettings   =webView.getSettings();
    // 设置WebView属性,能够执行Javascript脚本
    webSettings.setJavaScriptEnabled(true);
    // 设置加载进来的页面自适应手机屏幕
    webSettings.setLoadWithOverviewMode(true);
    webSettings.setUseWideViewPort(true);
    //设置是否可以缩放
    webView.getSettings().setBuiltInZoomControls(true);
    webSettings.setPluginState(WebSettings.PluginState.ON);

// webSettings.setPluginsEnabled(true);//可以使用插件
webView.setNetworkAvailable(true);
// 开启缓存
webSettings.setAppCacheEnabled(true);// 应用可以有缓存
webSettings.setDomStorageEnabled(true);// 设置可以使用localStorage
webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);// 优先使用缓存
webSettings.setAppCacheMaxSize(10 * 1024 * 1024);// 缓存最多可以有10M
//
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
webSettings.setAllowFileAccess(true);
webSettings.setDefaultTextEncodingName(“UTF-8”);

    webView.setVisibility(View.VISIBLE);

// webView.loadUrl(loadUrl);

    webView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    });
    /**
     * 显示自定义视图,无此方法视频不能播放
     */
    webView.setWebChromeClient(new WebChromeClient() {
        @Override
        public void onShowCustomView(View view, CustomViewCallback callback) {
            super.onShowCustomView(view, callback);
        }
    });
   /* webSettings.setUserAgentString(
                    "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; zh-tw) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16");

*/
webView.loadUrl(loadUrl);

}

@Override
protected void onPause() {
    if (webView != null)
        webView.onPause();
    super.onPause();
}

@Override
protected void onResume() {
    if (webView != null)
        webView.onResume();
    super.onResume();
}

@Override
protected void onDestroy() {

    super.onDestroy();
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
        webView.clearCache(true);
        webView.destroy();
        webView.goBack();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

}

附带 xml 布局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值