From b46401e55feffccfd2f3778d81dd84d8c3ffa154 Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Thu, 27 Jun 2024 03:23:29 +0700 Subject: [PATCH 01/11] switching external playback mode in iOS --- .../audioplayers/lib/src/audioplayer.dart | 20 +++++++++++++++++++ .../test/fake_audioplayers_platform.dart | 5 +++++ .../SwiftAudioplayersDarwinPlugin.swift | 10 ++++++++++ .../darwin/Classes/WrappedMediaPlayer.swift | 10 ++++++++++ .../lib/src/audioplayers_platform.dart | 9 +++++++++ .../src/audioplayers_platform_interface.dart | 3 +++ .../lib/audioplayers_web.dart | 5 +++++ 7 files changed, 62 insertions(+) diff --git a/packages/audioplayers/lib/src/audioplayer.dart b/packages/audioplayers/lib/src/audioplayer.dart index 34895de0b..f5ad68a83 100644 --- a/packages/audioplayers/lib/src/audioplayer.dart +++ b/packages/audioplayers/lib/src/audioplayer.dart @@ -47,6 +47,15 @@ class AudioPlayer { double get playbackRate => _playbackRate; + bool _allowsExternalPlayback = false; + + /// A Boolean value that indicates whether the player allows switching + /// to external playback mode. + /// + /// Default is [_allowsExternalPlayback] and + /// switch by calling [setAllowsExternalPlayback] + bool get allowsExternalPlayback => _allowsExternalPlayback; + /// Current mode of the audio player. Can be updated at any time, but is going /// to take effect only at the next time you play the audio. PlayerMode _mode = PlayerMode.mediaPlayer; @@ -168,6 +177,7 @@ class AudioPlayer { positionUpdater = FramePositionUpdater( getPosition: getCurrentPosition, ); + setAllowsExternalPlayback(_allowsExternalPlayback); } Future _create() async { @@ -230,6 +240,16 @@ class AudioPlayer { return _platform.setPlayerMode(playerId, mode); } + /// Switching the external playback mode + /// + /// Available in OS 6.0+ | iPadOS 6.0+ | Mac Catalyst 13.1+ | + /// + /// macOS 10.11+ | tvOS 9.0+ + Future setAllowsExternalPlayback(bool allows) async { + _allowsExternalPlayback = allows; + return _platform.setAllowsExternalPlayback(playerId, allows); + } + /// Pauses the audio that is currently playing. /// /// If you call [resume] later, the audio will resume from the point that it diff --git a/packages/audioplayers/test/fake_audioplayers_platform.dart b/packages/audioplayers/test/fake_audioplayers_platform.dart index 40c49a44f..2fd9f0cd1 100644 --- a/packages/audioplayers/test/fake_audioplayers_platform.dart +++ b/packages/audioplayers/test/fake_audioplayers_platform.dart @@ -163,4 +163,9 @@ class FakeAudioplayersPlatform extends AudioplayersPlatformInterface { calls.add(FakeCall(id: playerId, method: 'getEventStream')); return eventStreamControllers[playerId]!.stream; } + + @override + Future setAllowsExternalPlayback(String playerId, bool allows) async { + calls.add(FakeCall(id: playerId, method: 'setAllowsExternalPlayback')); + } } diff --git a/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift b/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift index d545e4264..2b8b5db06 100644 --- a/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift +++ b/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift @@ -265,6 +265,16 @@ public class SwiftAudioplayersDarwinPlugin: NSObject, FlutterPlugin { let currentPosition = player.getCurrentPosition() result(currentPosition) return + } else if method == "setAllowsExternalPlayback" { + guard let allows = args["allows"] as? Bool else { + result( + FlutterError( + code: "DarwinAudioError", message: "Error calling setAllowsExternalPlayback, allows cannot be null", + details: nil)) + return + } + + player.setAllowsExternalPlayback(allows: allows) } else if method == "setPlaybackRate" { guard let playbackRate = args["playbackRate"] as? Double else { result( diff --git a/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift b/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift index 08fc7f12c..ae1de492b 100644 --- a/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift +++ b/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift @@ -6,6 +6,8 @@ private let defaultVolume: Double = 1.0 private let defaultLooping: Bool = false +private let defaultAllowsExternalPlayback : Bool = false; + typealias Completer = () -> Void typealias CompleterError = (Error?) -> Void @@ -121,6 +123,14 @@ class WrappedMediaPlayer { } } + func setAllowsExternalPlayback(allows: Bool) { + if #available(iOS 10.0, macOS 10.12, *) { + player.allowsExternalPlayback = allows; + }else{ + player.allowsExternalPlayback = defaultAllowsExternalPlayback; + } + } + func seek(time: CMTime, completer: Completer? = nil) { guard let currentItem = player.currentItem else { completer?() diff --git a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart index 4fab6ca48..c7ca287a4 100644 --- a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart +++ b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart @@ -124,6 +124,15 @@ mixin MethodChannelAudioplayersPlatform ); } + @override + Future setAllowsExternalPlayback(String playerId, bool allows) { + return _call( + 'setAllowsExternalPlayback', + playerId, + {'allows': allows}, + ); + } + @override Future setReleaseMode(String playerId, ReleaseMode releaseMode) { return _call( diff --git a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart index 9e3ee4d5f..a1640563f 100644 --- a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart +++ b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart @@ -88,6 +88,9 @@ abstract class MethodChannelAudioplayersPlatformInterface { /// Android SDK version should be 23 or higher Future setPlaybackRate(String playerId, double playbackRate); + /// Switching the external playback mode + Future setAllowsExternalPlayback(String playerId, bool allows); + /// Configures the player to read the audio from a URL. /// /// The resources will start being fetched or buffered as soon as you call diff --git a/packages/audioplayers_web/lib/audioplayers_web.dart b/packages/audioplayers_web/lib/audioplayers_web.dart index b26d5d2a5..8df582bf1 100644 --- a/packages/audioplayers_web/lib/audioplayers_web.dart +++ b/packages/audioplayers_web/lib/audioplayers_web.dart @@ -99,6 +99,11 @@ class WebAudioplayersPlatform extends AudioplayersPlatformInterface { getPlayer(playerId).playbackRate = playbackRate; } + @override + Future setAllowsExternalPlayback(String playerId, bool allows) async { + // no-op: web doesn't have external playback, it supports only iOS, macOS + } + @override Future setReleaseMode(String playerId, ReleaseMode releaseMode) async { getPlayer(playerId).releaseMode = releaseMode; From 8e64855af49b48924077f51cc1e503ec607603ec Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Sat, 10 Aug 2024 18:02:38 +0700 Subject: [PATCH 02/11] fix: fix for automation failed --- packages/audioplayers/lib/src/audioplayer.dart | 6 +++--- packages/audioplayers/test/fake_audioplayers_platform.dart | 5 ++++- .../lib/src/audioplayers_platform.dart | 5 ++++- .../lib/src/audioplayers_platform_interface.dart | 5 ++++- packages/audioplayers_web/lib/audioplayers_web.dart | 5 ++++- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/packages/audioplayers/lib/src/audioplayer.dart b/packages/audioplayers/lib/src/audioplayer.dart index f5ad68a83..17af6098b 100644 --- a/packages/audioplayers/lib/src/audioplayer.dart +++ b/packages/audioplayers/lib/src/audioplayer.dart @@ -177,7 +177,7 @@ class AudioPlayer { positionUpdater = FramePositionUpdater( getPosition: getCurrentPosition, ); - setAllowsExternalPlayback(_allowsExternalPlayback); + setAllowsExternalPlayback(allows: _allowsExternalPlayback); } Future _create() async { @@ -245,9 +245,9 @@ class AudioPlayer { /// Available in OS 6.0+ | iPadOS 6.0+ | Mac Catalyst 13.1+ | /// /// macOS 10.11+ | tvOS 9.0+ - Future setAllowsExternalPlayback(bool allows) async { + Future setAllowsExternalPlayback({required bool allows}) async { _allowsExternalPlayback = allows; - return _platform.setAllowsExternalPlayback(playerId, allows); + return _platform.setAllowsExternalPlayback(playerId, allows: allows); } /// Pauses the audio that is currently playing. diff --git a/packages/audioplayers/test/fake_audioplayers_platform.dart b/packages/audioplayers/test/fake_audioplayers_platform.dart index 2fd9f0cd1..a2fd19b1e 100644 --- a/packages/audioplayers/test/fake_audioplayers_platform.dart +++ b/packages/audioplayers/test/fake_audioplayers_platform.dart @@ -165,7 +165,10 @@ class FakeAudioplayersPlatform extends AudioplayersPlatformInterface { } @override - Future setAllowsExternalPlayback(String playerId, bool allows) async { + Future setAllowsExternalPlayback( + String playerId, { + required bool allows, + }) async { calls.add(FakeCall(id: playerId, method: 'setAllowsExternalPlayback')); } } diff --git a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart index c7ca287a4..a319e8d37 100644 --- a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart +++ b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform.dart @@ -125,7 +125,10 @@ mixin MethodChannelAudioplayersPlatform } @override - Future setAllowsExternalPlayback(String playerId, bool allows) { + Future setAllowsExternalPlayback( + String playerId, { + required bool allows, + }) { return _call( 'setAllowsExternalPlayback', playerId, diff --git a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart index a1640563f..3cc87f8c3 100644 --- a/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart +++ b/packages/audioplayers_platform_interface/lib/src/audioplayers_platform_interface.dart @@ -89,7 +89,10 @@ abstract class MethodChannelAudioplayersPlatformInterface { Future setPlaybackRate(String playerId, double playbackRate); /// Switching the external playback mode - Future setAllowsExternalPlayback(String playerId, bool allows); + Future setAllowsExternalPlayback( + String playerId, { + required bool allows, + }); /// Configures the player to read the audio from a URL. /// diff --git a/packages/audioplayers_web/lib/audioplayers_web.dart b/packages/audioplayers_web/lib/audioplayers_web.dart index 8df582bf1..22ff4f34a 100644 --- a/packages/audioplayers_web/lib/audioplayers_web.dart +++ b/packages/audioplayers_web/lib/audioplayers_web.dart @@ -100,7 +100,10 @@ class WebAudioplayersPlatform extends AudioplayersPlatformInterface { } @override - Future setAllowsExternalPlayback(String playerId, bool allows) async { + Future setAllowsExternalPlayback( + String playerId, { + required bool allows, + }) async { // no-op: web doesn't have external playback, it supports only iOS, macOS } From 57d3794a4f53ffd14a59511f897e540fb9c50fc0 Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 15:16:56 +0700 Subject: [PATCH 03/11] fix: add method platform channels in android, linux and windows --- .../kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt | 7 +++++++ .../audioplayers_linux/linux/audioplayers_linux_plugin.cc | 2 ++ .../windows/audioplayers_windows_plugin.cpp | 2 ++ 3 files changed, 11 insertions(+) diff --git a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt index 77bf87409..e15568c6c 100644 --- a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt +++ b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt @@ -148,6 +148,13 @@ class AudioplayersPlugin : FlutterPlugin { player.rate = rate.toFloat() } + /* + * no-op: Android doesn't have external playback, it supports only iOS, macOS + */ + "setAllowsExternalPlayback" -> { + + } + "getDuration" -> { response.success(player.getDuration()) return diff --git a/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc b/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc index 4b6bef5dc..4747c7463 100644 --- a/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc +++ b/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc @@ -180,6 +180,8 @@ static void audioplayers_linux_plugin_handle_method_call( double playbackRate = flPlaybackRate == nullptr ? 1.0 : fl_value_get_float(flPlaybackRate); player->SetPlaybackRate(playbackRate); + } else if (strcmp(method, "setAllowsExternalPlayback") == 0) { + // no-op: Linux doesn't have external playback, it supports only iOS, macOS } else if (strcmp(method, "setReleaseMode") == 0) { auto flReleaseMode = fl_value_lookup_string(args, "releaseMode"); std::string releaseMode = diff --git a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp index 24e6b9b4c..16ecf19b5 100644 --- a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp +++ b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp @@ -207,6 +207,8 @@ void AudioplayersWindowsPlugin::HandleMethodCall( } else if (method_call.method_name().compare("setPlaybackRate") == 0) { auto playbackRate = GetArgument("playbackRate", args, 1.0); player->SetPlaybackSpeed(playbackRate); + } else if (method_call.method_name().compare("setAllowsExternalPlayback") == 0) { + // no-op: Windows doesn't have external playback, it supports only iOS, macOS } else if (method_call.method_name().compare("setReleaseMode") == 0) { auto releaseMode = GetArgument("releaseMode", args, std::string()); From ab5a6dbe8da809dab466869ac513f97c40e01270 Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:03:04 +0700 Subject: [PATCH 04/11] test: expect to call when the player create --- packages/audioplayers/test/audioplayers_test.dart | 1 + packages/audioplayers/test/fake_audioplayers_platform.dart | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/audioplayers/test/audioplayers_test.dart b/packages/audioplayers/test/audioplayers_test.dart index 1d12ebd1f..821d1d367 100644 --- a/packages/audioplayers/test/audioplayers_test.dart +++ b/packages/audioplayers/test/audioplayers_test.dart @@ -22,6 +22,7 @@ void main() { expect(player.source, null); await player.creatingCompleter.future; expect(platform.popCall().method, 'create'); + expect(platform.popCall().method, 'setAllowsExternalPlayback'); expect(platform.popLastCall().method, 'getEventStream'); return player; } diff --git a/packages/audioplayers/test/fake_audioplayers_platform.dart b/packages/audioplayers/test/fake_audioplayers_platform.dart index a2fd19b1e..ba8df3db1 100644 --- a/packages/audioplayers/test/fake_audioplayers_platform.dart +++ b/packages/audioplayers/test/fake_audioplayers_platform.dart @@ -169,6 +169,7 @@ class FakeAudioplayersPlatform extends AudioplayersPlatformInterface { String playerId, { required bool allows, }) async { - calls.add(FakeCall(id: playerId, method: 'setAllowsExternalPlayback')); + calls.add(FakeCall( + id: playerId, method: 'setAllowsExternalPlayback', value: allows)); } } From 7286f0da9f99004f59e63b3e16ed4733e0842de9 Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:13:51 +0700 Subject: [PATCH 05/11] fix: Fixing required trailing comma --- .../audioplayers/test/fake_audioplayers_platform.dart | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/audioplayers/test/fake_audioplayers_platform.dart b/packages/audioplayers/test/fake_audioplayers_platform.dart index ba8df3db1..28360c313 100644 --- a/packages/audioplayers/test/fake_audioplayers_platform.dart +++ b/packages/audioplayers/test/fake_audioplayers_platform.dart @@ -169,7 +169,12 @@ class FakeAudioplayersPlatform extends AudioplayersPlatformInterface { String playerId, { required bool allows, }) async { - calls.add(FakeCall( - id: playerId, method: 'setAllowsExternalPlayback', value: allows)); + calls.add( + FakeCall( + id: playerId, + method: 'setAllowsExternalPlayback', + value: allows, + ), + ); } } From 484bdc8969ed88b5745105282831a66dd4be955f Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:25:22 +0700 Subject: [PATCH 06/11] fix: remove comments for Lint Code Base --- packages/audioplayers/lib/src/audioplayer.dart | 2 ++ .../main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt | 4 ---- .../audioplayers_linux/linux/audioplayers_linux_plugin.cc | 1 - .../windows/audioplayers_windows_plugin.cpp | 1 - 4 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/audioplayers/lib/src/audioplayer.dart b/packages/audioplayers/lib/src/audioplayer.dart index 17af6098b..7c4dbf25e 100644 --- a/packages/audioplayers/lib/src/audioplayer.dart +++ b/packages/audioplayers/lib/src/audioplayer.dart @@ -245,6 +245,8 @@ class AudioPlayer { /// Available in OS 6.0+ | iPadOS 6.0+ | Mac Catalyst 13.1+ | /// /// macOS 10.11+ | tvOS 9.0+ + /// + /// Not Available in Android, Linux and Windows Future setAllowsExternalPlayback({required bool allows}) async { _allowsExternalPlayback = allows; return _platform.setAllowsExternalPlayback(playerId, allows: allows); diff --git a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt index e15568c6c..38cfad14a 100644 --- a/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt +++ b/packages/audioplayers_android/android/src/main/kotlin/xyz/luan/audioplayers/AudioplayersPlugin.kt @@ -148,11 +148,7 @@ class AudioplayersPlugin : FlutterPlugin { player.rate = rate.toFloat() } - /* - * no-op: Android doesn't have external playback, it supports only iOS, macOS - */ "setAllowsExternalPlayback" -> { - } "getDuration" -> { diff --git a/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc b/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc index 4747c7463..a1c519449 100644 --- a/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc +++ b/packages/audioplayers_linux/linux/audioplayers_linux_plugin.cc @@ -181,7 +181,6 @@ static void audioplayers_linux_plugin_handle_method_call( flPlaybackRate == nullptr ? 1.0 : fl_value_get_float(flPlaybackRate); player->SetPlaybackRate(playbackRate); } else if (strcmp(method, "setAllowsExternalPlayback") == 0) { - // no-op: Linux doesn't have external playback, it supports only iOS, macOS } else if (strcmp(method, "setReleaseMode") == 0) { auto flReleaseMode = fl_value_lookup_string(args, "releaseMode"); std::string releaseMode = diff --git a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp index 16ecf19b5..d5dcf5078 100644 --- a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp +++ b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp @@ -208,7 +208,6 @@ void AudioplayersWindowsPlugin::HandleMethodCall( auto playbackRate = GetArgument("playbackRate", args, 1.0); player->SetPlaybackSpeed(playbackRate); } else if (method_call.method_name().compare("setAllowsExternalPlayback") == 0) { - // no-op: Windows doesn't have external playback, it supports only iOS, macOS } else if (method_call.method_name().compare("setReleaseMode") == 0) { auto releaseMode = GetArgument("releaseMode", args, std::string()); From 719804bec139809c1ed8e3c6d132faf54084c458 Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:39:18 +0700 Subject: [PATCH 07/11] style: Fix for clang-format --- .../windows/audioplayers_windows_plugin.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp index d5dcf5078..b1bb8be5f 100644 --- a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp +++ b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp @@ -207,7 +207,9 @@ void AudioplayersWindowsPlugin::HandleMethodCall( } else if (method_call.method_name().compare("setPlaybackRate") == 0) { auto playbackRate = GetArgument("playbackRate", args, 1.0); player->SetPlaybackSpeed(playbackRate); - } else if (method_call.method_name().compare("setAllowsExternalPlayback") == 0) { + } else if ( + method_call.method_name().compare("setAllowsExternalPlayback") == 0 + ) { } else if (method_call.method_name().compare("setReleaseMode") == 0) { auto releaseMode = GetArgument("releaseMode", args, std::string()); From 5d3e37dbeb4513acb2ad5cc427f02583010d6828 Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 16:45:50 +0700 Subject: [PATCH 08/11] style: Fix for clang-format --- .../windows/audioplayers_windows_plugin.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp index b1bb8be5f..200fcc425 100644 --- a/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp +++ b/packages/audioplayers_windows/windows/audioplayers_windows_plugin.cpp @@ -207,9 +207,8 @@ void AudioplayersWindowsPlugin::HandleMethodCall( } else if (method_call.method_name().compare("setPlaybackRate") == 0) { auto playbackRate = GetArgument("playbackRate", args, 1.0); player->SetPlaybackSpeed(playbackRate); - } else if ( - method_call.method_name().compare("setAllowsExternalPlayback") == 0 - ) { + } else if (method_call.method_name().compare("setAllowsExternalPlayback") == + 0) { } else if (method_call.method_name().compare("setReleaseMode") == 0) { auto releaseMode = GetArgument("releaseMode", args, std::string()); From 1f970111a290f8d4a74fd8e00b0a857da3726c1a Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 17:01:27 +0700 Subject: [PATCH 09/11] style: Fix for Lint Swift --- .../darwin/Classes/SwiftAudioplayersDarwinPlugin.swift | 3 ++- .../darwin/Classes/WrappedMediaPlayer.swift | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift b/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift index 2b8b5db06..9172278bb 100644 --- a/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift +++ b/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift @@ -269,7 +269,8 @@ public class SwiftAudioplayersDarwinPlugin: NSObject, FlutterPlugin { guard let allows = args["allows"] as? Bool else { result( FlutterError( - code: "DarwinAudioError", message: "Error calling setAllowsExternalPlayback, allows cannot be null", + code: "DarwinAudioError", + message: "Error calling setAllowsExternalPlayback, allows cannot be null", details: nil)) return } diff --git a/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift b/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift index ae1de492b..6121e9c29 100644 --- a/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift +++ b/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift @@ -6,7 +6,7 @@ private let defaultVolume: Double = 1.0 private let defaultLooping: Bool = false -private let defaultAllowsExternalPlayback : Bool = false; +private let defaultAllowsExternalPlayback : Bool = false typealias Completer = () -> Void @@ -125,9 +125,9 @@ class WrappedMediaPlayer { func setAllowsExternalPlayback(allows: Bool) { if #available(iOS 10.0, macOS 10.12, *) { - player.allowsExternalPlayback = allows; - }else{ - player.allowsExternalPlayback = defaultAllowsExternalPlayback; + player.allowsExternalPlayback = allows + } else { + player.allowsExternalPlayback = defaultAllowsExternalPlayback } } From c08a87d2950c5f6732aa5fda0ff75dd76bd0b92e Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 17:08:12 +0700 Subject: [PATCH 10/11] style: Fix for Lint Swift --- .../darwin/Classes/WrappedMediaPlayer.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift b/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift index 6121e9c29..61a10dea5 100644 --- a/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift +++ b/packages/audioplayers_darwin/darwin/Classes/WrappedMediaPlayer.swift @@ -6,7 +6,7 @@ private let defaultVolume: Double = 1.0 private let defaultLooping: Bool = false -private let defaultAllowsExternalPlayback : Bool = false +private let defaultAllowsExternalPlayback: Bool = false typealias Completer = () -> Void @@ -128,7 +128,7 @@ class WrappedMediaPlayer { player.allowsExternalPlayback = allows } else { player.allowsExternalPlayback = defaultAllowsExternalPlayback - } + } } func seek(time: CMTime, completer: Completer? = nil) { From 5229bd33d2a76470cb1234f2dba00816633897ad Mon Sep 17 00:00:00 2001 From: Jack Will <65641460+jackwill99@users.noreply.github.com> Date: Wed, 28 Aug 2024 17:12:48 +0700 Subject: [PATCH 11/11] style: Fix for Lint Swift --- .../darwin/Classes/SwiftAudioplayersDarwinPlugin.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift b/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift index 9172278bb..f303c8b68 100644 --- a/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift +++ b/packages/audioplayers_darwin/darwin/Classes/SwiftAudioplayersDarwinPlugin.swift @@ -269,7 +269,7 @@ public class SwiftAudioplayersDarwinPlugin: NSObject, FlutterPlugin { guard let allows = args["allows"] as? Bool else { result( FlutterError( - code: "DarwinAudioError", + code: "DarwinAudioError", message: "Error calling setAllowsExternalPlayback, allows cannot be null", details: nil)) return