如何在颤振文本转语音中显示“播放”和“静音”状态?

问题描述

我有这个将文本转换为音频的程序,它可以正常工作,但到目前为止我还没有能够整合和找到有关显示“播放”和“关闭”文本的信息,以便在播放时它显示“正在播放”,反之亦然,我非常感谢您的帮助,非常感谢。

这是我的代码

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 (将#修改为@)