国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現視頻播放--騰訊瀏覽服務(TBS)功能

2019-10-21 21:44:35
字體:
來源:轉載
供稿:網友

TBS視頻播放

  TBS視頻播放器可以支持市面上幾乎所有的視頻格式,包括mp4, flv, avi, 3gp, webm, ts, ogv, m3u8, asf, wmv, rm, rmvb, mov, mkv等18種視頻格式。同時支持硬件解碼,使得內存占用,穩定性相較于系統播放器都更優。

接入TBS

1.導入jar文件和so文件

   官網SDK下載地址:https://x5.tencent.com/tbs/sdk.html,示例中有jar文件和so文件,具體導入方式我上一篇文章有詳細介紹(Android應用內展示office文件–騰訊瀏覽服務(TBS))

2.初始化Application

   自定義一個Application類,對X5內核進行初始化

public class MyAppliction extends Application { @Override public void onCreate() { super.onCreate(); //回調接口初始化完成接口回調 QbSdk.PreInitCallback pcb=new QbSdk.PreInitCallback() {  @Override  public void onCoreInitFinished() {  }  @Override  public void onViewInitFinished(boolean b) {  //x5內核初始化完成的回調,為true表示x5內核加載成功,否則表示x5內核加載失敗,會自動切換到系統內核。  Log.e("myApplication", " x5內核加載成功?" + b);  } }; //x5內核預加載,異步初始化x5 webview所需環境 QbSdk.initX5Environment(getApplicationContext(), pcb); }}

  在AndroidManifest.xml進行聲明

<application android:name="com.example.xch.tbsvideoplay.MyAppliction"

3.使用

   直接在清單文件AndroidManifest.xml中配置SDK中的視頻播放Activity

<activity android:name="com.tencent.smtt.sdk.VideoActivity" android:alwaysRetainTaskState="true" android:configChanges="orientation|screenSize|keyboardHidden" android:exported="false" android:launchMode="singleTask"> <intent-filter> <action android:name="com.tencent.smtt.tbs.video.PLAY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter></activity>

  在代碼中直接調用TbsVideo.openVideo()播放

/** * 直接調用播放視頻 * @param videoUrl 視頻地址 */private void startPlay(String videoUrl){ //判斷當前是否可用 if(TbsVideo.canUseTbsPlayer(getApplicationContext())){ //播放視頻 TbsVideo.openVideo(getApplicationContext(), videoUrl); }}

4.添加權限

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.READ_SETTINGS" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!-- 硬件加速對X5視頻播放有利,建議開啟 --><uses-permission android:name="android.permission.GET_TASKS" />

效果圖

Android,視頻播放,騰訊瀏覽服務

 優化

  先看一下優化之后的效果

Android,視頻播放,騰訊瀏覽服務

 Android,視頻播放,騰訊瀏覽服務

自定義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

<com.example.xch.tbsvideoplay.tools.X5WebView android:id="@+id/x5_webview" android:layout_width="match_parent" android:layout_height="200dp" android:scrollbars="none" />

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屬性

<activity android:name="com.example.xch.tbsvideoplay.VideoPlayActivity" android:configChanges="orientation|screenSize|keyboardHidden"/>

源碼已上傳至GitHub,需要的可以下載: https://github.com/yangxch/TBSVideoPlay

總結

以上所述是小編給大家介紹的Android實現視頻播放--騰訊瀏覽服務(TBS),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VEVB武林網網站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西吉县| 台江县| 确山县| 安庆市| 灵台县| 阿合奇县| 宁陵县| 柏乡县| 博白县| 鹿泉市| 肃宁县| 汝城县| 绍兴县| 赞皇县| 紫金县| 汉寿县| 太康县| 含山县| 临湘市| 四平市| 喀什市| 定边县| 九台市| 方城县| 博罗县| 修武县| 新邵县| 赣榆县| 邯郸县| 江油市| 黑山县| 育儿| 望江县| 海兴县| 旬邑县| 商都县| 安多县| 宁强县| 甘泉县| 平谷区| 文昌市|