From 066e46a3e722dca3e0c21c304b92f6bf7112ec3e Mon Sep 17 00:00:00 2001 From: Elias Projahn Date: Tue, 21 Apr 2020 19:47:11 +0200 Subject: [PATCH] player: Add seekTo method --- .../kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt | 4 ++++ musicus_player/lib/musicus_player.dart | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/musicus_player/android/src/main/kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt b/musicus_player/android/src/main/kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt index ac3d782..897045f 100644 --- a/musicus_player/android/src/main/kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt +++ b/musicus_player/android/src/main/kotlin/de/johrpan/musicus_player/MusicusPlayerPlugin.kt @@ -47,6 +47,10 @@ public class MusicusPlayerPlugin: FlutterPlugin, MethodCallHandler { } else if (call.method == "getPosition") { // TODO: Check, if mediaPlayer is in a valid state. result.success(mediaPlayer?.getCurrentPosition()) + } else if (call.method == "seekTo") { + // TODO: Check, if mediaPlayer is in a valid state. + mediaPlayer?.seekTo(call.argument("positionMs")!!) + result.success(null) } else if (call.method == "pause") { mediaPlayer?.pause() result.success(null) diff --git a/musicus_player/lib/musicus_player.dart b/musicus_player/lib/musicus_player.dart index 7a0bdc3..bf33f50 100644 --- a/musicus_player/lib/musicus_player.dart +++ b/musicus_player/lib/musicus_player.dart @@ -44,6 +44,11 @@ class MusicusPlayer { return await _channel.invokeMethod('getPosition'); } + /// Seek to a new position, which should be provided in milliseconds. + Future seekTo(int positionMs) async { + await _channel.invokeMethod('seekTo', {'positionMs': positionMs}); + } + /// Pause playback. Future pause() async { await _channel.invokeMethod('pause');