Browse Source

feat: 提供视频播放对齐模式

hexleo 5 years ago
parent
commit
c26fd407b8

+ 6 - 6
Android/PlayerProj/animplayer/src/main/java/com/tencent/qgame/animplayer/util/ScaleTypeUtil.kt

@@ -23,7 +23,7 @@ interface IScaleType {
     ): FrameLayout.LayoutParams
 }
 
-class ScaleTypeFixXY : IScaleType {
+class ScaleTypeFitXY : IScaleType {
     override fun getLayoutParam(
         layoutWidth: Int,
         layoutHeight: Int,
@@ -37,7 +37,7 @@ class ScaleTypeFixXY : IScaleType {
     }
 }
 
-class ScaleTypeFixCenter : IScaleType {
+class ScaleTypeFitCenter : IScaleType {
     override fun getLayoutParam(
         layoutWidth: Int,
         layoutHeight: Int,
@@ -45,7 +45,7 @@ class ScaleTypeFixCenter : IScaleType {
         videoHeight: Int,
         layoutParams: FrameLayout.LayoutParams
     ): FrameLayout.LayoutParams {
-        val (w, h) = getFixCenterSize(layoutWidth, layoutHeight, videoWidth, videoHeight)
+        val (w, h) = getFitCenterSize(layoutWidth, layoutHeight, videoWidth, videoHeight)
         if (w <= 0 && h <= 0) return layoutParams
         layoutParams.width = w
         layoutParams.height = h
@@ -53,7 +53,7 @@ class ScaleTypeFixCenter : IScaleType {
         return layoutParams
     }
 
-    private fun getFixCenterSize(
+    private fun getFitCenterSize(
         layoutWidth: Int,
         layoutHeight: Int,
         videoWidth: Int,
@@ -124,8 +124,8 @@ class ScaleTypeUtil {
         private const val TAG = "${Constant.TAG}.ScaleTypeUtil"
     }
 
-    private val scaleTypeFitXY by lazy { ScaleTypeFixXY() }
-    private val scaleTypeFitCenter by lazy { ScaleTypeFixCenter() }
+    private val scaleTypeFitXY by lazy { ScaleTypeFitXY() }
+    private val scaleTypeFitCenter by lazy { ScaleTypeFitCenter() }
     private val scaleTypeCenterCrop by lazy { ScaleTypeCenterCrop() }
 
     var currentScaleType = ScaleType.FIT_XY

+ 3 - 4
Android/PlayerProj/app/src/main/java/com/tencent/qgame/playerproj/player/AnimActiveDemoActivity.kt

@@ -102,9 +102,10 @@ class AnimActiveDemoActivity : Activity(), IAnimListener {
         initTestView()
         // 获取动画view
         animView = playerView
-
+        // 居中(根据父布局按比例居中并全部显示s)
+        animView.setScaleType(ScaleType.FIT_CENTER)
+        // 启动过滤遮罩s
         animView.supportMask(true, true)
-
         // 注册动画监听
         animView.setAnimListener(this)
         /**
@@ -122,8 +123,6 @@ class AnimActiveDemoActivity : Activity(), IAnimListener {
             val file = File(dir + "/" + videoInfo.fileName)
             val md5 = FileUtil.getFileMD5(file)
             if (videoInfo.md5 == md5) {
-                // 居中(根据父布局按比例居中并全部显示s)
-                animView.setScaleType(ScaleType.FIT_CENTER)
                 // 开始播放动画文件
                 animView.startPlay(file)
             } else {

+ 2 - 2
Android/PlayerProj/app/src/main/java/com/tencent/qgame/playerproj/player/AnimSimpleDemoActivity.kt

@@ -74,6 +74,8 @@ class AnimSimpleDemoActivity : Activity(), IAnimListener {
         initTestView()
         // 获取动画view
         animView = playerView
+        // 居中(根据父布局按比例居中并全部显示,默认fitXY)
+        animView.setScaleType(ScaleType.FIT_CENTER)
         // 注册动画监听
         animView.setAnimListener(this)
         /**
@@ -91,8 +93,6 @@ class AnimSimpleDemoActivity : Activity(), IAnimListener {
             val file = File(dir + "/" + videoInfo.fileName)
             val md5 = FileUtil.getFileMD5(file)
             if (videoInfo.md5 == md5) {
-                // 居中(根据父布局按比例居中并全部显示s)
-                animView.setScaleType(ScaleType.FIT_CENTER)
                 // 开始播放动画文件
                 animView.startPlay(file)
             } else {

+ 2 - 2
Android/PlayerProj/app/src/main/java/com/tencent/qgame/playerproj/player/AnimVapxDemoActivity.kt

@@ -84,6 +84,8 @@ class AnimVapxDemoActivity : Activity(), IAnimListener {
         initTestView()
         // 获取动画view
         animView = playerView
+        // 居中(根据父布局按比例居中并裁剪)
+        animView.setScaleType(ScaleType.CENTER_CROP)
         /**
          * 注册资源获取类
          */
@@ -163,8 +165,6 @@ class AnimVapxDemoActivity : Activity(), IAnimListener {
             val file = File(dir + "/" + videoInfo.fileName)
             val md5 = FileUtil.getFileMD5(file)
             if (videoInfo.md5 == md5) {
-                // 居中(根据父布局按比例居中并裁剪)
-                animView.setScaleType(ScaleType.CENTER_CROP)
                 // 开始播放动画文件
                 animView.startPlay(file)
             } else {