Canardoux / flutter_sound

Flutter plugin for sound. Audio recorder and player.
Mozilla Public License 2.0
875 stars 573 forks source link

[BUG]: creatDataFile failed #933

Open WeJeson opened 2 years ago

WeJeson commented 2 years ago

Flutter Sound Version : 9.2.13


Severity


Platforms you faced the error


Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Logs!!!!

flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 new FlutterSoundRecorder flutter: │ #1 SoundAnimationWidgetController.onInit flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 ctor: FlutterSoundRecorder() flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 new FlutterSoundPlayer flutter: │ #1 SoundAnimationWidgetController.onInit flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 ctor: FlutterSoundPlayer() flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [GETX] Instance "SoundAnimationWidgetController" has been initialized flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.openRecorder flutter: │ #1 SoundAnimationWidgetController.init flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:---> openAudioSession flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder._openAudioSession flutter: │ #1 FlutterSoundRecorder.openRecorder. flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 ---> openAudioSession flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder._openAudioSession flutter: │ #1 FlutterSoundRecorder.openRecorder. flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 Resetting flutter_sound Recorder Plugin flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── iOS: resetPlugin flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer._closeAudioSession flutter: │ #1 FlutterSoundPlayer.closePlayer. flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:---> closeAudioSession flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer._closeAudioSession flutter: │ #1 FlutterSoundPlayer.closePlayer. flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 Player already close flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer._openAudioSession flutter: │ #1 FlutterSoundPlayer.openPlayer. flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:---> openAudioSession flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer._openAudioSession flutter: │ #1 FlutterSoundPlayer.openPlayer. flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 Resetting flutter_sound Player Plugin flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── iOS: resetPlugin flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:<-- releaseFlautoPlayer flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:<-- reset (Player) flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.openRecorderCompleted flutter: │ #1 MethodChannelFlutterSoundRecorder.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 ---> openRecorderCompleted: true flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.openRecorderCompleted flutter: │ #1 MethodChannelFlutterSoundRecorder.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 <--- openRecorderCompleted: true flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder._openAudioSession flutter: │ #1 flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 <--- openAudioSession flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.openRecorder flutter: │ #1 flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:<--- openAudioSession flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:--> initializeFlautoPlayer flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 iOS: invokeMethod openPlayerCompleted - state=0 flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.openPlayerCompleted flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 ---> openPlayerCompleted: true flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.openPlayerCompleted flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 <--- openPlayerCompleted: true flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer._openAudioSession flutter: │ #1 flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:<--- openAudioSession flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.setSubscriptionDuration flutter: │ #1 SoundAnimationWidgetController._initializeExample flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:---> setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:<-- initializeFlautoPlayer flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:--> setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:--> setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:<-- setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.setSubscriptionDuration flutter: │ #1 flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:<---- setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.setSubscriptionDuration flutter: │ #1 SoundAnimationWidgetController._initializeExample flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:---> setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundPlayer.log flutter: │ #1 MethodChannelFlutterSoundPlayer.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 IOS:<-- setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.setSubscriptionDuration flutter: │ #1 flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:<--- setSubscriptionDuration flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [log] ===> 准备开始录音 flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.startRecorder flutter: │ #1 SoundAnimationWidgetController.startRecorder flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:---> startRecorder flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder._startRecorder flutter: │ #1 FlutterSoundRecorder.startRecorder. flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:---> _startRecorder. flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── CreateDataFile failed flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.startRecorderCompleted flutter: │ #1 MethodChannelFlutterSoundRecorder.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ [log] ===> 开始录音 [log] path == /var/mobile/Containers/Data/Application/77879C65-E0A6-4189-BD67-37D74A7034C5/Library/Caches/audio/1664500898.mp4 flutter: │ 🐛 ---> startRecorderCompleted: true flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.startRecorderCompleted flutter: │ #1 MethodChannelFlutterSoundRecorder.channelMethodCallHandler flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 <--- startRecorderCompleted: true flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder._startRecorder flutter: │ #1 flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:<--- _startRecorder. flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── flutter: │ #0 FlutterSoundRecorder.startRecorder flutter: │ #1 flutter: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄ flutter: │ 🐛 FS:<--- startRecorder flutter: └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016 [WJ] WeJeson: 录音监听打印的数据-----duration: 0:00:00.000000 decibels: 0.00015999999999999999 [log] 当前振幅:0.0000016

this is my code

import 'dart:async'; import 'dart:developer'; import 'dart:io'; import 'package:audio_session/audio_session.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_sound/flutter_sound.dart'; import 'package:get/get.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; import 'package:path_provider/path_provider.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:scfile/app/utils/common.dart';

import '../../routes/app_pages.dart'; import '../../utils/common_network_request.dart'; import '../../utils/global_enum.dart';

enum RecordPlayState { record, recording, play, playing, pause, }

class SoundAnimationWidgetController extends GetxController { final _state = RecordPlayState.record.obs; RecordPlayState get state => _state.value; set state(RecordPlayState value) { _state.value = value; }

late final StreamSubscription _recorderSubscription;

// StreamSubscription _dbPeakSubscription; late final FlutterSoundRecorder flutterSound; // 获取录音时长 final _recorderTxt = '00:00:00'.obs; set recorderTxt(String value) { _recorderTxt.value = value; }

// 录音还是播放 true 录音 false 播放 final _isRecorder = true.obs; bool get isRecorder => _isRecorder.value; set isRecorder(bool value) { _isRecorder.value = value; }

String get recorderTxt => _recorderTxt.value;

final _dbLevel = 0.5.obs; double get dbLevel => _dbLevel.value; set dbLevel(double value) { _dbLevel.value = value; }

late final FlutterSoundRecorder recorderModule; late final FlutterSoundPlayer playerModule;

final _path = "".obs; String get path => _path.value; set path(String value) { _path.value = value; }

// 暂停还是继续 final _isPause = false.obs; bool get isPause => _isPause.value; set isPause(bool value) { _isPause.value = value; }

// 开始时间 late String beginTime;

// 结束时间 late String endTime;

late String unitGuid;

@override void onInit() { super.onInit(); recorderModule = FlutterSoundRecorder(); playerModule = FlutterSoundPlayer(); init(); }

@override void onClose() { log("是否销毁"); cancelRecorderSubscriptions(); // cancelPlayerSubscriptions(); releaseFlauto(); super.onClose(); }

Future _initializeExample(bool withUI) async { await playerModule.closePlayer();

await playerModule.openPlayer();

await playerModule
    .setSubscriptionDuration(const Duration(milliseconds: 30));
await recorderModule
    .setSubscriptionDuration(const Duration(milliseconds: 30));

}

Future init() async { final session = await AudioSession.instance; await session.configure(AudioSessionConfiguration( avAudioSessionCategory: AVAudioSessionCategory.playAndRecord, avAudioSessionCategoryOptions: AVAudioSessionCategoryOptions.allowBluetooth | AVAudioSessionCategoryOptions.defaultToSpeaker, avAudioSessionMode: AVAudioSessionMode.spokenAudio, avAudioSessionRouteSharingPolicy: AVAudioSessionRouteSharingPolicy.defaultPolicy, avAudioSessionSetActiveOptions: AVAudioSessionSetActiveOptions.none, androidAudioAttributes: const AndroidAudioAttributes( contentType: AndroidAudioContentType.speech, flags: AndroidAudioFlags.none, usage: AndroidAudioUsage.voiceCommunication, ), androidAudioFocusGainType: AndroidAudioFocusGainType.gain, androidWillPauseWhenDucked: true, )); recorderModule.openRecorder(); initializeDateFormatting(); await _initializeExample(false);

/// 监听录音
_recorderSubscription = recorderModule.onProgress!.listen((e) {
  DateTime date = DateTime.fromMillisecondsSinceEpoch(
      e.duration.inMilliseconds,
      isUtc: true);
  // DateFormat.
  String txt = DateFormat('mm:ss:SS', 'en_GB').format(date);
  // if (date.second >= _maxLength) {
  //   stopRecorder();
  // }
  wjLogString(msg: "录音监听打印的数据-----$e");
  _recorderTxt.value = txt.substring(0, 8);
  if (e.decibels! / 100 < 0) {
    _dbLevel.value = 0.1;
  } else if (e.decibels! / 100 > 1) {
    _dbLevel.value = 1.0;
  } else {
    _dbLevel.value = e.decibels! / 100;
  }

  log("当前振幅:$_dbLevel");
  _state.value = RecordPlayState.recording;
});

}

// 开始录音 startRecorder() async { if (await Permission.microphone.request() == PermissionStatus.granted&&await Permission.storage.request() == PermissionStatus.granted) { try { if (await Permission.microphone.request() != PermissionStatus.granted) { EasyLoading.showToast("未获取到麦克风权限"); throw RecordingPermissionException("未获取到麦克风权限"); } if (await Permission.storage.request() != PermissionStatus.granted) { EasyLoading.showToast("未获取到存储权限"); throw RecordingPermissionException("未获取到存储权限"); } Directory tempDir = await getTemporaryDirectory(); var time = DateTime.now().millisecondsSinceEpoch ~/ 1000; String path = '${tempDir.path}/audio/$time${ext[Codec.aacMP4.index]}'; log('===> 准备开始录音'); beginTime = DateTime.now().toString().substring(0, 19); await recorderModule.startRecorder( toFile: path, codec: Codec.aacMP4, bitRate: 8000, sampleRate: 8000, ); log('===> 开始录音'); _path.value = path; log("path == $path"); } catch (err) { log("录音报错-----$err"); stopRecorder(); _state.value = RecordPlayState.record; cancelRecorderSubscriptions(); } } else { openAppSettings(); } }

/// 结束录音 stopRecorder() async { try { await recorderModule.stopRecorder(); endTime = DateTime.now().toString().substring(0, 19); log('stopRecorder'); // cancelRecorderSubscriptions(); _isRecorder.value = false; // _getDuration(); } catch (err) { log('stopRecorder error: $err'); } _dbLevel.value = 0.5; _state.value = RecordPlayState.play; }

//暂停录音 pauseRecorder() async { try { await recorderModule.pauseRecorder(); _state.value = RecordPlayState.pause; _isPause.value = true; } catch (error) { log('pauseRecorder error: $error'); } }

// 恢复录音 resumeRecorder() async { try { await recorderModule.resumeRecorder(); _state.value = RecordPlayState.recording; _isPause.value = false; } catch (error) { log('resumeRecorder error: $error'); } }

/// 取消录音监听 void cancelRecorderSubscriptions() { _recorderSubscription.cancel(); // _recorderSubscription = null; }

// /// 取消播放监听 // void cancelPlayerSubscriptions() { // _playerSubscription.cancel(); // // _playerSubscription = null; // }

/// 释放录音和播放 Future releaseFlauto() async { try { await playerModule.closePlayer(); await recorderModule.closeRecorder(); } catch (e) { log('Released unsuccessful'); log("释放录音和播放 == $e"); } }

// 重新录制 reRecord() async { _isRecorder.value = true; _recorderTxt.value = '00:00:00'; _state.value = RecordPlayState.record; if (!recorderModule.isStopped) { await recorderModule.stopRecorder(); } if (!playerModule.isStopped) { await playerModule.stopPlayer(); } }

/// 开始播放 Future startPlayer() async { try { if (await _fileExists(_path.value)) { await playerModule.openPlayer(); await playerModule.startPlayer( fromURI: _path.value, codec: Codec.aacADTS, whenFinished: () { log('==> 结束播放'); stopPlayer(); }); _isPause.value = true; } else { EasyLoading.showToast("未找到文件路径"); throw RecordingPermissionException("未找到文件路径"); } // _playerSubscription = playerModule.onProgress!.listen((e) { // }); // cancelPlayerSubscriptions(); _state.value = RecordPlayState.playing; log('===> 开始播放'); } catch (err) { log('==> 错误: $err'); } }

/// 结束播放 stopPlayer() async { _state.value = RecordPlayState.record; _dbLevel.value = 0.0; try { await playerModule.stopPlayer(); log('===> 结束播放'); // cancelPlayerSubscriptions(); } catch (err) { log('==> 错误: $err'); } _state.value = RecordPlayState.play; }

/// 暂停/继续播放 void pauseResumePlayer() { if (playerModule.isPlaying) { playerModule.pausePlayer(); _state.value = RecordPlayState.play; log('===> 暂停播放'); } else { playerModule.resumePlayer(); _state.value = RecordPlayState.playing; log('===> 继续播放'); } }

/// 判断文件是否存在 Future _fileExists(String path) async { return await File(path).exists(); }

// 立即存证 void rightNowNotyfication() { addOrder(4, beginTime, callBack: (value) { if (value != null) { Get.toNamed(AppRoutes.giveUp, arguments: { 'type': WJDataType.audio, 'filePath': path, 'beginTime': beginTime, 'endTime': endTime, 'unitGuid': value }); } }); } }

(This is very important. Most of the time we cannot do anything if we do not have information on your bug). To activate the logs, you must instantiate your modules with the Log Level set to Level.debug :

FlutterSoundPlayer myPlayer = FlutterSoundPlayer(logLevel: Level.debug);
FlutterSoundRecorder myRecorder = FlutterSoundRecorder(logLevel: Level.debug);

See this


github-actions[bot] commented 11 months ago

This issue is stale because it has been open 90 days with no activity. Leave a comment or this will be closed in 7 days.