flutter_tts
flutter_tts copied to clipboard
Fluttertts not working in ios
🐛 Bug Report
Expected behavior
I want fluttertts to speak all words and sentences. But fluttertts is only speaking dot, comma, exclamatory dot or some other symbols
Reproduction steps
Configuration
flutter_tts: ^4.0.2
Platform: ios 17.2
Code sample is
import 'dart:async'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:flutter/material.dart'; import 'package:flutter_tts/flutter_tts.dart';
class Transliterate extends StatefulWidget { final String _storyID; final String o_text; final FlutterTts flutterTts ;
Transliterate(this._storyID, this.flutterTts, String o_text) : o_text = o_text;
@override _TransliterateState createState() => _TransliterateState(); }
enum TtsState { playing, stopped, paused, continued}
class _TransliterateState extends State<Transliterate> { CollectionReference stry = FirebaseFirestore.instance.collection('stories'); String? txt; String? language; double volume = 0.5; double pitch = 1.0; double rate = 0.5;
TtsState ttsState = TtsState.stopped;
get isPlaying => ttsState == TtsState.playing; get isStopped => ttsState == TtsState.stopped; get isPaused => ttsState == TtsState.paused; get isContinued => ttsState == TtsState.continued;
Future _speak() async { await widget.flutterTts.setVolume(volume); await widget.flutterTts.setSpeechRate(rate); await widget.flutterTts.setPitch(pitch);
//for testing // FlutterTts flut = FlutterTts(); // String text = "एका जंगलात एक छोटं जलाशय होतं त्यामध्ये एक बेडूक राहत होता त्याला एकटेपणा जाणवत होता त्यासाठी."; // await flut.setLanguage("mr-IN"); // await flut.setVolume(0.5); // await flut.setSpeechRate(0.5); // await flut.setPitch(1); // await flut.speak(text); // print(text);
if (language == "Gujarati") widget.flutterTts.setLanguage("gu-IN");
if (language == "Bengali") widget.flutterTts.setLanguage("bn-IN");
if (language == "Telugu") widget.flutterTts.setLanguage("te-IN");
if (language == "Marathi") widget.flutterTts.setLanguage("mr-IN");
print(language);
await widget.flutterTts.awaitSpeakCompletion(true);
var result = await widget.flutterTts.speak(txt!);
if (result == 1) setState(() => ttsState = TtsState.playing);
}
Future _stop() async { var result = await widget.flutterTts.stop(); if (result == 1) setState(() => ttsState = TtsState.stopped); }
Future _pause() async { var result = await widget.flutterTts.pause(); if (result == 1) setState(() => ttsState = TtsState.paused); }
te-IN not working in version flutter_tts: 4.0.2 & flutter version 3.22.3