diff --git a/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerModule.kt b/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerModule.kt index ea73f3d1..070e13a8 100644 --- a/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerModule.kt +++ b/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerModule.kt @@ -9,9 +9,7 @@ class VlcPlayerModule : Module() { View(VlcPlayerView::class) { Prop("source") { view: VlcPlayerView, source: Map -> - if (!view.hasSource) { - view.setSource(source) - } + view.setSource(source) } Prop("paused") { view: VlcPlayerView, paused: Boolean -> diff --git a/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt b/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt index 30d69b3c..0b319905 100644 --- a/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt +++ b/modules/vlc-player/android/src/main/java/expo/modules/vlcplayer/VlcPlayerView.kt @@ -60,6 +60,11 @@ class VlcPlayerView(context: Context, appContext: AppContext) : ExpoView(context } fun setSource(source: Map) { + if (hasSource) { + mediaPlayer?.attachViews(videoLayout, null, false, false) + play() + return + } val mediaOptions = source["mediaOptions"] as? Map ?: emptyMap() val autoplay = source["autoplay"] as? Boolean ?: false val isNetwork = source["isNetwork"] as? Boolean ?: false @@ -260,7 +265,7 @@ class VlcPlayerView(context: Context, appContext: AppContext) : ExpoView(context val currentTimeMs = player.time.toInt() val durationMs = player.media?.duration?.toInt() ?: 0 - + println("isPlayer Attached: ${videoLayout.isAttachedToWindow}") if (currentTimeMs >= 0 && currentTimeMs < durationMs) { // Set subtitle URL if available if (player.isPlaying && !isMediaReady) {