From 9a135af53d771f280eae7422cbe3c6e83acc1389 Mon Sep 17 00:00:00 2001 From: Makoto Sato Date: Mon, 9 Feb 2026 16:23:14 +0900 Subject: [PATCH 1/2] [audioplayers] Add "init" global method call handler see also: https://github.com/bluefireteam/audioplayers/pull/1905 Signed-off-by: Makoto Sato --- .../audioplayers/elinux/audioplayers_elinux_plugin.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc b/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc index 1884641..c54353f 100644 --- a/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc +++ b/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc @@ -197,7 +197,14 @@ class AudioplayersElinuxPlugin : public flutter::Plugin { const flutter::MethodCall& method_call, std::unique_ptr> result) { const std::string &method_name = method_call.method_name(); - if (method_name == "setAudioContext") { + if (method_name == "init") { + for (auto& pair : audio_players_) { + audio_players_.erase(pair.first); + event_sinks_.erase(pair.first); + } + audio_players_.clear(); + result->Success(); + } else if (method_name == "setAudioContext") { result->NotImplemented(); } else if (method_name == "emitLog") { result->NotImplemented(); From c600fe5e5ced0d2eeff8d1d15a4e431938f71b7e Mon Sep 17 00:00:00 2001 From: Makoto Sato Date: Mon, 9 Feb 2026 16:25:31 +0900 Subject: [PATCH 2/2] [audioplayers] Add global event channel handler Added a 'global event channel handler' to address the following error. --- flutter: MissingPluginException(No implementation found for method listen on channel xyz.luan/audioplayers.global/events) flutter: #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332) flutter: flutter: #1 EventChannel.receiveBroadcastStream. (package:flutter/src/services/platform_channel.dart:676) flutter: --- Signed-off-by: Makoto Sato --- .../elinux/audioplayers_elinux_plugin.cc | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc b/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc index c54353f..852f8a8 100644 --- a/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc +++ b/packages/audioplayers/elinux/audioplayers_elinux_plugin.cc @@ -67,6 +67,30 @@ class AudioplayersElinuxPlugin : public flutter::Plugin { plugin_pointer->HandleGlobalMethodCall(call, std::move(result)); }); } + { + auto global_event_channel = + std::make_unique>( + registrar->messenger(), "xyz.luan/audioplayers.global/events", + &flutter::StandardMethodCodec::GetInstance()); + auto global_event_channel_handler = std::make_unique< + flutter::StreamHandlerFunctions>( + // StreamHandlerFunctions + [](const flutter::EncodableValue* arguments, + std::unique_ptr>&& + events) + -> std::unique_ptr< + flutter::StreamHandlerError> { + return nullptr; + }, + // StreamHandlerCancel + [](const flutter::EncodableValue* arguments) + -> std::unique_ptr< + flutter::StreamHandlerError> { + return nullptr; + }); + global_event_channel->SetStreamHandler( + std::move(global_event_channel_handler)); + } registrar->AddPlugin(std::move(plugin)); }