webview加载腾讯视频功能的实现
来源:互联网 发布:以太网无法连接到网络 编辑:程序博客网 时间:2024/05/16 09:07
楼主之前转行做java web开发的工作,由于是什么都不会开始,加之工作量比较大,所以一直很忙,没有时间写博客。换了一份工作,继续做着android开发,在工作中,有webview加载腾讯视频的功能,在此做一个记录,希望对实现腾讯视频播放功能的同学有所帮助。
首先是加载网络的权限。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
其次是对android3.0(api11)之后要进行硬件加速,硬件加速可以在manifest文件中的Application标签下设置,同样也可以在实现webview播放的Activity中设置,楼主选择的实在Activity中设置。
<activity android:name=".PlayActivity" android:hardwareAccelerated="true"/>
接着是布局,需要注意的是在webview控件中要设置layerType属性为hardware。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFF" android:orientation="vertical" > <WebView android:id="@+id/videoWebView" android:layout_width="match_parent" android:layout_height="match_parent" android:layerType="hardware" android:focusable="true" android:focusableInTouchMode="true" /></LinearLayout>
下面是webview所在Activity代码,注释比较详细。
package co.webviewdemo;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.KeyEvent;import android.view.WindowManager;import android.webkit.WebChromeClient;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import butterknife.Bind;import butterknife.ButterKnife;/** * Created by FengJD on 2017/6/9. */public class PlayActivity extends AppCompatActivity { @Bind(R.id.videoWebView) WebView videoWebView; //vid为腾讯视频的id String html = "http://v.qq.com/iframe/player.html?vid=s001529w0dr&tiny=0&auto=0"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_play); ButterKnife.bind(this); getWindow().addFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); WebSettings setting = videoWebView.getSettings(); setting.setJavaScriptEnabled(true); setting.setDomStorageEnabled(true); setting.setPluginState(WebSettings.PluginState.ON); setting.setAllowFileAccess(true); setting.setLoadWithOverviewMode(true); setting.setUseWideViewPort(true); setting.setDatabaseEnabled(true); setting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); setting.setDefaultTextEncodingName("UTF-8"); videoWebView.setWebChromeClient(new WebChromeClient()); videoWebView.setWebViewClient(new MyWebViewClient()); videoWebView.loadUrl(html); } @Override protected void onPause () { //解决推出次Activity后声音还在继续的问题 videoWebView.reload (); super.onPause (); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { finish(); return false; } return super.onKeyDown(keyCode, event); } public class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub view.loadUrl(html); return true; } }}
好了,所有的功能都在这儿,有什么疑问,可以留言,楼主尽力解答!
源码下载
阅读全文
0 0
- webview加载腾讯视频功能的实现
- WebView无法加载腾讯视频
- webview加载html代码(包含播发腾讯视频的分享代码)
- 安卓WebView加载腾讯视频无法播放
- Android WebView实现离线加载功能
- android webview 加载带视频的URL
- WebView加载网页视频
- webview 加载h5页面,播放视频+全屏,实现简单封装
- webview加载html5网页,有些网页功能不能实现的问题
- Fragment中加载网页(WebView)监听Back键 ,实现返回上一页的功能
- WebView从assets中加载html5页面,实现定位功能
- android在webView中播放腾讯视频
- Android WebView无法播放腾讯视频问题
- Android Webview加载带视频的网页,遇到的问题。
- android webview 加载网络视频
- android WebView加载网页视频
- WebView加载视频与网页
- WebView加载h5视频网页
- php实现的消息队列类
- [最短路 虚树+线段树优化建图] BZOJ 4912 [Sdoi2017]天才黑客
- oracle限制查询条数-rownum用法详解
- deepin 下安装gimp
- 满满的提高芝麻分实操技巧!
- webview加载腾讯视频功能的实现
- 浅谈KMP算法
- API中URL规划建议
- OpenDaylight:java.lang.UnstatisfiedLinkError:Could not load library
- 首字母大写
- Latex 使用mcode 插入matlab代码
- Mysql数据库基本操作
- Kafka源码中的Producer Record定义
- Oracle复制表