Stop audio loop (audioplayers package)

Question

Asked by Silent T on May 29, 2019 (source).

I'm new to flutter programming and I want to create an application, where I need an audio file to play/loop in the background. However it should stop, when double tapping on the screen.

The audio is saved in the assets folder. I am able to play it, but i don't know how to pause/stop it. I am using this package.

  @override
  Widget build(BuildContext context) {
    audioCache.play('rainsound.mp3', );
    return new Scaffold(
      child: new GestureDetector(
        onDoubleTap: () {
          //here I would like to stop the audio
          debugPrint('audio stopped');
        },

Answer

Question answered by CopsOnRoad (source).

You will have to get the instance of AudioPlayer to stop the file, simply use await on play() to get the instance and using this, you can call stop(). This is the working code.

AudioCache cache; // you have this
AudioPlayer player; // create this

void _playFile() async{
  player = await cache.play('my_audio.mp3'); // assign player here
}

void _stopFile() {
  player?.stop(); // stop the file like this
}
DART FLUTTER
SHARE: