flutter audio manager onEvents not working

431 Views Asked by At

I am using AudioManager and I am going to check audio status (start, ready, play, pause, volume and so on). Sometimes onEvents function doesn't work.

AudioManager audioManager = AudioManager.instance;
bool _isLoading;

 try {
      _isLoading = true;
      String result = await audioManager.startInfo(audio, auto: true);
      print("start result $result");
      audioManager.nextMode(playMode: PlayMode.single);
    } catch (e) {
      print(e);
    }

audioManager.onEvents((events, args) {
      print("$events, $args");

      switch (events) {
        case AudioManagerEvents.start:
          _isLoading = true;
          break;
        case AudioManagerEvents.ready:
          _isLoading = false;
          break;
        case AudioManagerEvents.seekComplete:
          print("seek completed");
          break;
        case AudioManagerEvents.buffering:
          _isLoading = false;
          break;
        case AudioManagerEvents.playstatus:
          _isLoading = false;
          break;
        case AudioManagerEvents.timeupdate:
          _isLoading = false;
          audioManager.updateLrc(args["position"].toString());
          break;
        case AudioManagerEvents.error:
          _isLoading = false;
          break;
        case AudioManagerEvents.ended:
          audioManager.next();
          break;
        case AudioManagerEvents.volumeChange:
          _volume = audioManager.volume;
          break;
        default:
          _isLoading = false;
          break;
      }

      setState(() {});
    });

_isLoading is always true even if audio is playing now.

0

There are 0 best solutions below