问题描述
我有这个将文本转换为音频的程序,它可以正常工作,但到目前为止我还没有能够整合和找到有关显示“播放”和“关闭”文本的信息,以便在播放时它显示“正在播放”,反之亦然,我非常感谢您的帮助,非常感谢。
这是我的代码。
import 'package:Flutter/material.dart';
import 'package:Flutter/rendering.dart';
import 'package:Flutter_tts/Flutter_tts.dart';
class TextVoicePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: TextVoice(),),);
}
class TextVoice extends StatelessWidget {
final FlutterTts FlutterTts = FlutterTts();
@override
Widget build(BuildContext context) {
TextEditingController textEditingController = TextEditingController();
Future _speak(String text) async {
await FlutterTts.setLanguage("es-MX");
await FlutterTts.setPitch(1);
await FlutterTts.speak(text);
}
Future _stop() async {
await FlutterTts.stop();
}
return Scaffold(
body: Stack(
children: <Widget>[
Padding(
padding: EdgeInsets.all(30.0),child: TextFormField(
decoration: Inputdecoration(
hintText: 'Introduce el texto.',labelStyle: TextStyle(color: Colors.white70,fontSize: 16.0),enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.pink[900]),focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.pink[50]),hintStyle: TextStyle(color: Colors.white30,border: OutlineInputBorder(),controller: textEditingController,cursorColor: Colors.white,style: TextStyle(color: Colors.white70,maxLines: null,],floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,bottomNavigationBar: Container(
color: Colors.black,height: 40.0,alignment: Alignment.topCenter,floatingActionButton: Padding(
padding: const EdgeInsets.all(8.0),child: Row(
mainAxisAlignment: MainAxisAlignment.center,children: <Widget>[
FloatingActionButton(
backgroundColor: Colors.green,heroTag: "btn",onpressed: () => _speak(textEditingController.text),child: Icon(Icons.play_arrow),SizedBox(
width: 40,FloatingActionButton(
backgroundColor: Colors.red,heroTag: "btn2",onpressed: () => _stop(),child: Icon(Icons.stop),)
],));
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)