Можно ли использовать flutter_sound в audio_service?

#flutter #audio #service #audio-recording #dart-isolates

Вопрос:

Моя цель-записывать окружающее через микрофон, пока аудиофайл воспроизводится через наушники. Я решил использовать плагин audio_service для аудиоплеера, чтобы звук продолжал воспроизводиться, даже когда приложение находится в фоновом режиме.


Я добавил плагин flutter_sound в примерный проект плагина audio_service и проверил, могу ли я начать запись в задаче AudioPlayerTask. Цель состоит в том, чтобы записать звук в определенное время позже в будущем, если звук все еще воспроизводится. Когда я это делаю, плагин не может быть найден. Сначала я подумал, что это может быть так, потому что задача AudioPlayerTask выполняется в отдельном изолированном режиме, но я использую плагин path_provider для определения пути к файлу, который найден и выполнен правильно.

Кто-нибудь пробовал использовать flutter_sound в сочетании с audio_service?

Мое раздвоенное репо: https://github.com/trybnikova/audio_service Мои изменения: смотрите последнюю фиксацию

Шаги для воспроизведения поведения (только для Android):

  1. Клонировать репо
  2. Откройте проект «пример»
  3. Сборка и установка на устройстве
  4. Откройте настройки приложения «Демонстрация аудиосервиса» и разрешите разрешение микрофона (для упрощения запроса не был добавлен код).
  5. Запустите приложение
  6. Нажмите «Аудиоплеер».

Я/предсердий (16652): //данные пользователя/0/сом.ryanheise.audioserviceexample/app_flutter/scene_recording.WAV в
я/предсердий (16652): ПС — — — -> openAudioSession
я/предсердий (16652): —> openAudioSession
я/предсердий (16652): сброс flutter_sound регистратор плагин
е/трепетание (16652): [ошибка:флаттер/Либ/ИП/ui_dart_state.ГК(186)] необработанное исключение: MissingPluginException(нет реализации для метода resetPlugin на канале ком.dooboolab.flutter_sound_recorder)
е/трепетание (16652): #0 MethodChannel._invokeMethod (пакет:флаттер/ГРЦ/услуги/platform_channel.в Dart:156:7)
Е/трепетание (16652):
е/трепетание (16652): #1 FlutterSoundRecorder._openAudioSession (в упаковке:flutter_sound/общественных/flutter_sound_recorder.Дарт:393:9)
е/трепетание (16652):
е/трепетание (16652): #2 FlutterSoundRecorder.openAudioSession (в упаковке:flutter_sound/общественных/flutter_sound_recorder.Дарт:355:11)
е/трепетание (16652): е/трепетание (16652): #3 BasicLock.синхронизированные (пакет:синхронизированные/в src/basic_lock.Дарт:33:16)
е/трепетание (16652):
е/трепетание (16652): #4 FlutterSoundRecorder.openAudioSession (в упаковке:flutter_sound/общественных/flutter_sound_recorder.Дарт:354:5)
E/флаттер (16652):
E/флаттер (16652): #5 аудиоплаертаск._тестРекордер (пакет:audio_service_example/main.dart:333:5)