From 240b4d7fa5fc95fa4c9ec70a2c156bb3e46b594d Mon Sep 17 00:00:00 2001 From: Marcos Cordeiro Date: Fri, 31 May 2024 11:17:58 -0300 Subject: [PATCH 1/2] Uses long instead of int in seekToPosition --- just_audio_windows/pubspec.yaml | 2 +- just_audio_windows/windows/player.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/just_audio_windows/pubspec.yaml b/just_audio_windows/pubspec.yaml index fc58d87bd..0fa271ae2 100644 --- a/just_audio_windows/pubspec.yaml +++ b/just_audio_windows/pubspec.yaml @@ -1,6 +1,6 @@ name: just_audio_windows description: Windows platform implementation of just_audio. Implemented using WinRT MediaPlayer -version: 0.2.1 +version: 0.2.2 homepage: https://github.com/bdlukaa/just_audio_windows/tree/master/just_audio_windows environment: diff --git a/just_audio_windows/windows/player.hpp b/just_audio_windows/windows/player.hpp index 86abc6301..6909fc09d 100644 --- a/just_audio_windows/windows/player.hpp +++ b/just_audio_windows/windows/player.hpp @@ -627,7 +627,7 @@ class AudioPlayer { broadcastState(); } - void AudioPlayer::seekToPosition(int microseconds) { + void AudioPlayer::seekToPosition(long microseconds) { mediaPlayer.Position(TimeSpan(std::chrono::microseconds(microseconds))); broadcastState(); From b306d0670f3023b8b1b3787c4206dd3be5a34ba8 Mon Sep 17 00:00:00 2001 From: Marcos Cordeiro Date: Fri, 31 May 2024 14:24:05 -0300 Subject: [PATCH 2/2] Fetches position a int_64t --- just_audio_windows/windows/player.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/just_audio_windows/windows/player.hpp b/just_audio_windows/windows/player.hpp index 6909fc09d..a331f1181 100644 --- a/just_audio_windows/windows/player.hpp +++ b/just_audio_windows/windows/player.hpp @@ -337,10 +337,12 @@ class AudioPlayer { seekToItem((uint32_t)*index); } - const auto* position = std::get_if(ValueOrNull(*args, "position")); + const auto* position = ValueOrNull(*args, "position"); + if (position != nullptr) { - seekToPosition(*position); + seekToPosition((*position).LongValue()); } + result->Success(flutter::EncodableMap()); } else if (method_call.method_name().compare("concatenatingInsertAll") == 0) { const auto* index = std::get_if(ValueOrNull(*args, "index")); @@ -627,7 +629,7 @@ class AudioPlayer { broadcastState(); } - void AudioPlayer::seekToPosition(long microseconds) { + void AudioPlayer::seekToPosition(int64_t microseconds) { mediaPlayer.Position(TimeSpan(std::chrono::microseconds(microseconds))); broadcastState();