24 lines
720 B
Dart
24 lines
720 B
Dart
import 'package:flutter_tts/flutter_tts.dart';
|
|
|
|
import '../main.dart';
|
|
|
|
class AudioPlayer {
|
|
static Future<void> playAudio(String? audio, {String? lang}) async {
|
|
if (globalSharedPreferences.getBool('sound_on') != false && 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);
|
|
}
|
|
await flutterTts.setSpeechRate(0.5);
|
|
flutterTts.speak(playText);
|
|
}
|
|
}
|
|
}
|