首页 > 解决方案 > 可以在audio_service中使用flutter_sound吗?

问题描述

我的目标是通过麦克风记录周围环境,同时通过耳机播放音频文件。我决定为音频播放器使用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. 点击“音频播放器”

I/flutter(16652):/data/user/0/com.ryanheise.audioserviceexample/app_flutter/scene_recording.wav
I/flutter(16652):FS:---> openAudioSession
I/flutter(16652):---> openAudioSession
I/flutter(16652):重置flutter_sound Recorder插件
E/flutter(16652):[错误:flutter/lib/ui/ui_dart_state.cc(186)]未处理的异常:MissingPluginException(未找到通道com上的resetPlugin方法的实现。 doobolab.flutter_sound_recorder)
E/flutter (16652): #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:156:7)
E/flutter (16652):
E/flutter (16652): #1 FlutterSoundRecorder ._openAudioSession (package:flutter_sound/public/flutter_sound_recorder.dart:393:9)
E/flutter (16652):
E/flutter (16652): #2 FlutterSoundRecorder.openAudioSession (package:flutter_sound/public/flutter_sound_recorder.dart:355:11)
E/flutter (16652): E/flutter (16652): #3 BasicLock.synchronized (package:synchronized /src/basic_lock.dart:33:16)
E/flutter (16652):
E/flutter (16652): #4 FlutterSoundRecorder.openAudioSession (package:flutter_sound/public/flutter_sound_recorder.dart:354:5)
E/flutter (16652 ):
E/flutter (16652): #5 AudioPlayerTask._testRecorder (package:audio_service_example/main.dart:333:5)

标签: flutteraudioserviceaudio-recordingdart-isolates

解决方案


推荐阅读