3.使用
直接在清单文件AndroidManifest.xml中配置SDK中的视频播放Activity
在代码中直接调用TbsVideo.openVideo()播放
/**
* 直接调用播放视频
* @param videoUrl 视频地址
*/
private void startPlay(String videoUrl){
//判断当前是否可用
if(TbsVideo.canUseTbsPlayer(getApplicationContext())){
//播放视频
TbsVideo.openVideo(getApplicationContext(), videoUrl);
}
}
4.添加权限
效果图
优化
先看一下优化之后的效果
自定义TBS的WebView,充分发挥X5内核的作用
1.自定义webview
需继承TBS的webview,包一定不能导错:com.tencent.smtt.sdk.WebView
public class X5WebView extends WebView {
private WebViewClient client = new WebViewClient() {
/**
* 防止加载网页时调起系统浏览器
*/
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
};
@SuppressLint("SetJavaScriptEnabled")
public X5WebView(Context arg0, AttributeSet arg1) {
super(arg0, arg1);
this.setWebViewClient(client);
initWebViewSettings();
this.getView().setClickable(true);
}
/**
* 初始化webview设置
*/
private void initWebViewSettings() {
WebSettings webSetting = this.getSettings();
...
}
/**
* 这里可以为自定义webview绘制背景或文字
* @param canvas
* @param child
* @param drawingTime
* @return
*/
@Override
protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
boolean ret = super.drawChild(canvas, child, drawingTime);
canvas.save();
...
return ret;
}
public X5WebView(Context arg0) {
super(arg0);
setBackgroundColor(85621);
}
}
2.布局中使用自定义WebView
3.使用自定义WebView播放视频
/**
* 使用自定义webview播放视频
* @param vedioUrl 视频地址
*/
private void startPlay(String vedioUrl) {
x5webView.loadUrl(vedioUrl);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
x5webView.getView().setOverScrollMode(View.OVER_SCROLL_ALWAYS);
x5webView.setWebChromeClient(new WebChromeClient());
}
4.支持横竖屏切换
在AndroidManifest.xml中给当前Activity配置configChanges属性