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');
},
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
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With