flutter_tts 1.1.0
flutter_tts: ^1.1.0 copied to clipboard
A flutter plugin for Text to Speech. This plugin is supported on iOS, Android, & Web.
Text To Speech #
A flutter text to speech plugin (Swift,Java)
Features #
- ✅ Android, iOS, & Web
- ✅ speak
- ✅ stop
- ✅ get languages
- ✅ set language
- ✅ set speech rate
- ✅ set speech volume
- ✅ set speech pitch
- ✅ is language available
- ✅ Android, iOS
- ✅ get voices
- ✅ set voice
- ✅ speech marks (requires iOS 7+ and Android 26+)
- ✅ Android
- ✅ set Silence
- ✅ synthesize to file
- ✅ iOS
- ✅ set shared instance
- ✅ pause
Usage #
Web #
Website from the example directory.
Android #
Change the minimum Android sdk version to 21 (or higher) in your android/app/build.gradle
file.
minSdkVersion 21
iOS #
There's a known issue with integrating plugins that use Swift into a Flutter project created with the Objective-C template. Flutter#16049
To use this plugin :
- add the dependency to your pubspec.yaml file.
dependencies:
flutter:
sdk: flutter
flutter_tts:
- instantiate FlutterTts
FlutterTts flutterTts = FlutterTts();
To set shared audio instance:
await flutterTts.setSharedInstance(true);
speak, stop, getLanguages, setLanguage, setSpeechRate, setVolume, setPitch, isLanguageAvailable, setSharedInstance #
Future _speak() async{
var result = await flutterTts.speak("Hello World");
if (result == 1) setState(() => ttsState = TtsState.playing);
}
Future _stop() async{
var result = await flutterTts.stop();
if (result == 1) setState(() => ttsState = TtsState.stopped);
}
Future _synthesizeToFile() async{
var result = await flutterTts.synthesizeToFile("Hello World", "tts.wav");
}
List<dynamic> languages = await flutterTts.getLanguages;
await flutterTts.setLanguage("en-US");
await flutterTts.setSpeechRate(1.0);
await flutterTts.setVolume(1.0);
await flutterTts.setPitch(1.0);
await flutterTts.isLanguageAvailable("en-US");
// iOS only
await flutterTts.setSharedInstance(true);
await flutterTts.pause();
Listening for platform calls #
flutterTts.setStartHandler(() {
setState(() {
ttsState = TtsState.playing;
});
});
flutterTts.setCompletionHandler(() {
setState(() {
ttsState = TtsState.stopped;
});
});
flutterTts.setProgressHandler((String text, int startOffset, int endOffset, String word) {
setState(() {
_currentWord = word;
});
});
flutterTts.setErrorHandler((msg) {
setState(() {
ttsState = TtsState.stopped;
});
});
Getting Started #
For help getting started with Flutter, view our online documentation.
For help on editing plugin code, view the documentation.