Flutter_sound doesn't work at the first time but after recording voice on iOS

Viewed 21

I'm building a flutter app and inside I use flutter_sound for voice recording and playing.

It works totally fine with Android devices but not with iOS device.

Right after building the app, I play a sound fetched from firebase but there was no sound at all. However, after I record a new voice, the previously fetched sound can play properly.

This is the code for playing sound

  void startPlay() {
    
    isPlaying = true;
    _player = FlutterSoundPlayer();
    _player!.openPlayer();
    _player!.startPlayer(
        fromDataBuffer: widget.bodyBytes,
        codec: Codec.pcm16,
        sampleRate: 48000,
        whenFinished: () {
          isPlaying = false;
          if(mounted) {
            setState(() {});
          }
        });
    setState(() {});
  }

This is the code for recording

 Future<bool> record() async {
    var status = await Permission.microphone.request();
    if (status != PermissionStatus.granted) {
      status = await Permission.microphone.request();
      return false;
    }

    recordingDataController = StreamController<Food>.broadcast();

    // write to data
    _sink = File(_tempFilePath!).openWrite();
    recordingDataSubscriptor = recordingDataController!.stream.listen((buffer) {
      if (buffer is FoodData) {
        _sink.add(buffer.data!);
      }
    });

    await _recorder!.openRecorder();
    await _recorder!.startRecorder(
      toStream: recordingDataController!.sink,
      codec: Codec.pcm16,
      numChannels: 1,
      sampleRate: 48000,
    );
    return true;
  }

Please help me, Love you all <3

0 Answers
Related