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 21c953e1..09bc7ae8 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 @@ -90,6 +90,10 @@ class VlcPlayerModule : Module() { AsyncFunction("setVideoScaleFactor") { view: VlcPlayerView, scaleFactor: Float -> view.setVideoScaleFactor(scaleFactor) } + + AsyncFunction("setRate") { view: VlcPlayerView, rate: Float -> + view.setRate(rate) + } } } } \ No newline at end of file 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 e164efb9..d5290b1e 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 @@ -343,6 +343,11 @@ class VlcPlayerView(context: Context, appContext: AppContext) : ExpoView(context mediaPlayer?.scale = scaleFactor } + fun setRate(rate: Float) { + log.debug("Setting playback rate: $rate") + mediaPlayer?.rate = rate + } + private fun setInitialExternalSubtitles() { externalSubtitles?.let { subtitles -> for (subtitle in subtitles) { diff --git a/modules/vlc-player/ios/VlcPlayerModule.swift b/modules/vlc-player/ios/VlcPlayerModule.swift index 5685ac8c..20fbbd78 100644 --- a/modules/vlc-player/ios/VlcPlayerModule.swift +++ b/modules/vlc-player/ios/VlcPlayerModule.swift @@ -79,6 +79,10 @@ public class VlcPlayerModule: Module { AsyncFunction("getSubtitleTracks") { (view: VlcPlayerView) -> [[String: Any]]? in return view.getSubtitleTracks() } + + AsyncFunction("setRate") { (view: VlcPlayerView, rate: Float) in + view.setRate(rate) + } } } } diff --git a/modules/vlc-player/ios/VlcPlayerView.swift b/modules/vlc-player/ios/VlcPlayerView.swift index 86607d14..5c4019f1 100644 --- a/modules/vlc-player/ios/VlcPlayerView.swift +++ b/modules/vlc-player/ios/VlcPlayerView.swift @@ -433,6 +433,13 @@ class VlcPlayerView: ExpoView { } } + @objc func setRate(_ rate: Float) { + DispatchQueue.main.async { + self.mediaPlayer?.rate = rate + print("Set playback rate: \(rate)") + } + } + @objc func setNowPlayingMetadata(_ metadata: [String: String]) { // Cancel any existing artwork download to prevent race conditions artworkDownloadTask?.cancel()