Prechádzať zdrojové kódy

bug: 解决播放不同fps素材导致fps错误问题 close #176

hexleo 4 rokov pred
rodič
commit
152fc4c86f

+ 1 - 0
Android/PlayerProj/animplayer/src/main/java/com/tencent/qgame/animplayer/AnimConfigManager.kt

@@ -144,6 +144,7 @@ class AnimConfigManager(val player: AnimPlayer) {
                 this.defaultVideoMode = defaultVideoMode
                 this.defaultVideoMode = defaultVideoMode
                 fps = defaultFps
                 fps = defaultFps
             }
             }
+            player.fps = config.fps
             return true
             return true
         }
         }
 
 

+ 3 - 1
Android/PlayerProj/animplayer/src/main/java/com/tencent/qgame/animplayer/AnimPlayer.kt

@@ -35,6 +35,8 @@ class AnimPlayer(val animView: IAnimView) {
             decoder?.fps = value
             decoder?.fps = value
             field = value
             field = value
         }
         }
+    // 设置默认的fps <= 0 表示以vapc配置为准 > 0  表示以此设置为准
+    var defaultFps: Int = 0
     var playLoop: Int = 0
     var playLoop: Int = 0
         set(value) {
         set(value) {
             decoder?.playLoop = value
             decoder?.playLoop = value
@@ -84,7 +86,7 @@ class AnimPlayer(val animView: IAnimView) {
         }
         }
         // 在线程中解析配置
         // 在线程中解析配置
         decoder?.renderThread?.handler?.post {
         decoder?.renderThread?.handler?.post {
-            val result = configManager.parseConfig(fileContainer, enableVersion1, videoMode, fps)
+            val result = configManager.parseConfig(fileContainer, enableVersion1, videoMode, defaultFps)
             if (result != Constant.OK) {
             if (result != Constant.OK) {
                 isStartRunning = false
                 isStartRunning = false
                 decoder?.onFailed(result, Constant.getErrorMsg(result))
                 decoder?.onFailed(result, Constant.getErrorMsg(result))

+ 2 - 1
Android/PlayerProj/animplayer/src/main/java/com/tencent/qgame/animplayer/AnimView.kt

@@ -231,7 +231,8 @@ open class AnimView @JvmOverloads constructor(context: Context, attrs: Attribute
     }
     }
 
 
     override fun setFps(fps: Int) {
     override fun setFps(fps: Int) {
-        player.fps = fps
+        ALog.i(TAG, "setFps=$fps")
+        player.defaultFps = fps
     }
     }
 
 
     override fun setScaleType(type : ScaleType) {
     override fun setScaleType(type : ScaleType) {