import 'package:flutter_tts/flutter_tts.dart'; import '../main.dart'; class AudioPlayer { static bool get soundOn => globalSharedPreferences.getBool('sound_on') ?? true; static Future playAudio(String? audio, {String? lang}) async { if (soundOn && audio != null) { FlutterTts flutterTts = FlutterTts(); var playText = audio; if (audio.contains('_')) { final language = audio.split('_').first; playText = audio.replaceFirst('${language}_', ''); if (lang == null) { await flutterTts.setLanguage(language); } } if (lang != null) { await flutterTts.setLanguage(lang); } var speed = globalSharedPreferences.getDouble('sound_speed'); if (speed == null) { speed = 0.8; globalSharedPreferences.setDouble('sound_speed', 0.8); } await flutterTts.setSpeechRate(speed); flutterTts.speak(playText); } } }