Browse Source

Merge pull request #184 from Tencent/bugfix/android_destroy_inner

bug: 解决偶现无法再次播放问题 close #180
hexleo 4 years ago
parent
commit
040cc23520

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

@@ -180,8 +180,8 @@ class AudioPlayer(val player: AnimPlayer) {
     }
 
     fun destroy() {
-        needDestroy = true
         if (isRunning) {
+            needDestroy = true
             stop()
         } else {
             destroyInner()

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

@@ -372,8 +372,8 @@ class HardDecoder(player: AnimPlayer) : Decoder(player), SurfaceTexture.OnFrameA
     }
 
     override fun destroy() {
-        needDestroy = true
         if (isRunning) {
+            needDestroy = true
             stop()
         } else {
             destroyInner()
@@ -381,6 +381,7 @@ class HardDecoder(player: AnimPlayer) : Decoder(player), SurfaceTexture.OnFrameA
     }
 
     private fun destroyInner() {
+        ALog.i(TAG, "destroyInner")
         renderThread.handler?.post {
             player.pluginManager.onDestroy()
             render?.destroyRender()