Forráskód Böngészése

media state fixes

Milan Jurkulak 3 éve
szülő
commit
1441d1b37c

+ 8 - 0
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/audiopreview/AudioPreview.kt

@@ -101,4 +101,12 @@ class AudioPreview constructor(
         previewEngine.stop()
     }
 
+    fun pause() {
+        previewEngine.pause()
+    }
+
+    fun resume() {
+        previewEngine.resume()
+    }
+
 }

+ 1 - 0
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/audiopreview/dailymotion/DailyMotionVideoView.kt

@@ -44,6 +44,7 @@ class DailyMotionVideoView @JvmOverloads constructor(
     private val playerView by lazy {
         PlayerWebView(context).apply {
             mute()
+            showControls(false)
             setEventListener(this@DailyMotionVideoView)
             setEventErrorListener(object : PlayerWebView.EventErrorListener {
                 override fun onError(

+ 10 - 8
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/media/ExoPlayerImpl.kt

@@ -41,7 +41,6 @@ import androidx.media3.common.PlaybackException
 import androidx.media3.common.PlaybackParameters
 import androidx.media3.common.Player
 import androidx.media3.common.Player.STATE_ENDED
-import androidx.media3.common.Player.STATE_IDLE
 import androidx.media3.common.Player.STATE_READY
 import androidx.media3.common.Timeline
 import androidx.media3.common.TrackSelectionParameters
@@ -173,6 +172,14 @@ class ExoPlayerImpl(
                     }
                 )
                 exoPlayer.addListener(object : Player.Listener {
+                    override fun onIsPlayingChanged(isPlaying: Boolean) {
+                        if (isPlaying) {
+                            audioPlayerView.resume()
+                        } else {
+                            audioPlayerView.pause()
+                        }
+                    }
+
                     override fun onPlaybackStateChanged(playbackState: Int) {
                         when (playbackState) {
                             STATE_READY -> {
@@ -183,13 +190,8 @@ class ExoPlayerImpl(
                                 audioPlayerView.stop()
                             }
 
-                            STATE_IDLE -> {
-                                audioPlayerView.stop()
-                            }
-
-                            Player.STATE_BUFFERING -> {
-                                // todo
-                                // audioPlayerView.pause()
+                            else -> {
+                                // no op
                             }
                         }
                     }