안 드 로 이 드 비디오 재생-텐 센트 탐색 서비스(TBS)기능 구현

TBS 영상 재생
  TBS 비디오 플레이 어 는 mp4,flv,avi,3gp,webm,ts,ogv,m3u 8,asf,wmv,rm,rmvb,mov,mkv 등 18 가지 비디오 형식 을 지원 합 니 다.동시에 하드웨어 디 코딩 을 지원 하여 메모 리 를 점용 하고 시스템 플레이어 보다 안정성 이 우수 합 니 다.
TBS 접속
1.jar 파일 과 so 파일 가 져 오기
   홈 페이지 SDK 다운로드 주소:https://x5.tencent.com/tbs/sdk.html예제 에 jar 파일 과 so 파일 이 있 습 니 다.구체 적 인 가 져 오 는 방식 은 제 가 지난 글 에서 상세 하 게 소개 하 였 습 니 다(Android 응용 프로그램 에서 office 파일 C 텐 센트 조회 서비스(TBS)를 보 여 줍 니 다).
2.응용 프로그램 초기 화
   응용 프로그램 클래스 를 사용자 정의 하여 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" />
효과 도

 최적화 하 다.
  일단 최 적 화 된 효 과 를 볼 게 요.

 
TBS 의 WebView 를 사용자 정의 하여 X5 커 널 의 역할 을 충분히 발휘 합 니 다.
1.사용자 정의 웹 뷰
    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
총결산
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 안 드 로 이 드 구현 영상 재생 인 텐 센트 조회 서비스(TBS)입 니 다.도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기