Flutter plugin for sound. Audio recorder and player.
Mozilla Public License 2.0
876
stars
569
forks
source link
[BUG]: FlutterSoundPlayer can't run in isolate. Exception: MissingPluginException(No implementation found for method resetPlugin on channel com.dooboolab.flutter_sound_player) #906
Plugin crash with exception : MissingPluginException(No implementation found for method resetPlugin on channel com.dooboolab.flutter_sound_player)
Platforms you faced the error
Android, Emulator (Android), Real device (Android)
Describe the bug
My requirement is my app has Foreground Service with socket connection to retrieve audio stream and play it with FlutterSoundPlayer, but unfortunately FlutterSoundPlayer thrown expection when calling openPlayer() method inside Foreground Service.
Flutter Sound Version :
Severity
Platforms you faced the error
Describe the bug
To Reproduce
import 'dart:isolate';
import 'package:flutter/material.dart'; import 'package:flutter_foreground_task/flutter_foreground_task.dart'; import 'package:flutter_sound/flutter_sound.dart'; import 'package:logger/logger.dart';
void main() { WidgetsFlutterBinding.ensureInitialized(); runApp(const MyApp()); }
class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key);
@override Widget build(BuildContext context) { Future(() async { await FlutterForegroundTask.init( androidNotificationOptions: AndroidNotificationOptions(channelId: 'flutter_sound', channelName: 'Flutter Sound'), );
} }
void startCallback() { FlutterForegroundTask.setTaskHandler(ForegroundTaskHandler()); }
class ForegroundTaskHandler extends TaskHandler { @override Future onDestroy(DateTime timestamp, SendPort? sendPort) async {}
@override Future onEvent(DateTime timestamp, SendPort? sendPort) async {}
@override Future onStart(DateTime timestamp, SendPort? sendPort) async {
try {
FlutterSoundPlayer soundPlayer = FlutterSoundPlayer(logLevel: Level.debug);
await soundPlayer.openPlayer(); // <- Error Here
} catch (e) {
print(e);
}
}
}
I/flutter ( 6137): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 6137): │ #0 new FlutterSoundPlayer I/flutter ( 6137): │ #1 ForegroundTaskHandler.onStart I/flutter ( 6137): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ I/flutter ( 6137): │ 🐛 ctor: FlutterSoundPlayer() I/flutter ( 6137): └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 6137): ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── I/flutter ( 6137): │ #0 FlutterSoundPlayer._openAudioSession I/flutter ( 6137): │ #1 FlutterSoundPlayer.openPlayer.
I/flutter ( 6137): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter ( 6137): │ 🐛 FS:---> openAudioSession
I/flutter ( 6137): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter ( 6137): ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter ( 6137): │ #0 FlutterSoundPlayer._openAudioSession
I/flutter ( 6137): │ #1 FlutterSoundPlayer.openPlayer.
I/flutter ( 6137): ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
I/flutter ( 6137): │ 🐛 Resetting flutter_sound Player Plugin
I/flutter ( 6137): └───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
I/flutter ( 6137): MissingPluginException(No implementation found for method resetPlugin on channel com.dooboolab.flutter_sound_player)