Prechádzať zdrojové kódy

1.添加腾讯超级播放器sdk

王鹏鹏 2 rokov pred
rodič
commit
bea6460ee8

+ 24 - 1
livebroadcast/src/main/java/com/yingyang/livebroadcast/activity/video/VideoPlayerActivity.kt

@@ -1,18 +1,33 @@
 package com.yingyang.livebroadcast.activity.video
 
+import android.os.Bundle
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.tencent.rtmp.TXVodPlayer
 import com.yingyang.livebroadcast.databinding.ActivityVideoPlayerBinding
 import com.yingyangfly.baselib.base.BaseActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 
+
 /**
  * 视频播放页面
  */
 @Route(path = RouterUrlCommon.videoPlayer)
 class VideoPlayerActivity : BaseActivity<ActivityVideoPlayerBinding>() {
 
-    override fun initViews() {
+    private var url: String = ""
+    private var mVodPlayer: TXVodPlayer? = null
 
+    override fun onCreate(savedInstanceState: Bundle?) {
+        url = intent.getStringExtra("url") ?: ""
+        super.onCreate(savedInstanceState)
+    }
+
+    override fun initViews() {
+        //创建 player 对象
+        mVodPlayer = TXVodPlayer(this)
+        //关联 player 对象与视频渲染 view
+        mVodPlayer?.setPlayerView(binding.playTxCloudView)
+        mVodPlayer?.startVodPlay(url)
     }
 
     override fun initListener() {
@@ -22,4 +37,12 @@ class VideoPlayerActivity : BaseActivity<ActivityVideoPlayerBinding>() {
     override fun initData() {
     }
 
+    override fun onDestroy() {
+        super.onDestroy()
+        if (mVodPlayer != null) {
+            mVodPlayer?.stopPlay(true) // true 代表清除最后一帧画面
+            binding.playTxCloudView.onDestroy()
+        }
+    }
+
 }

+ 6 - 1
livebroadcast/src/main/res/layout/activity_live_broadcast.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ResourceName">
 
@@ -15,7 +16,11 @@
         <com.tencent.rtmp.ui.TXCloudVideoView
             android:id="@+id/play_tx_cloud_view"
             android:layout_width="match_parent"
-            android:layout_height="match_parent" />
+            android:layout_height="match_parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
     </androidx.constraintlayout.widget.ConstraintLayout>
 

+ 11 - 3
livebroadcast/src/main/res/layout/activity_video_player.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     tools:ignore="ResourceName">
 
@@ -7,11 +8,18 @@
 
     </data>
 
-    <LinearLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
+        <com.tencent.rtmp.ui.TXCloudVideoView
+            android:id="@+id/play_tx_cloud_view"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
 
-    </LinearLayout>
-
+    </androidx.constraintlayout.widget.ConstraintLayout>
 </layout>

+ 2 - 2
workbenches/src/main/java/com/yingyang/workbenches/leisurebrain/LeisureBrainActivity.kt

@@ -18,13 +18,13 @@ class LeisureBrainActivity :
     private var url = ""
 
     override fun initViews() {
-        url = "http://60.205.201.7/123.mp4"
     }
 
     override fun initListener() {
         binding.btnPlay.setOnClickListener {
             if (url.isNotEmpty()) {
-                JumpUtil.jumpActivityWithUrl(RouterUrlCommon.liveBroadcast, url)
+                url = "http://60.205.201.7/123.mp4"
+                JumpUtil.jumpActivityWithUrl(RouterUrlCommon.videoPlayer, url)
             }
         }