如何解决如何比较Flutter中的语音识别?
我是颤振开发的初学者。我编写了一个代码,在其中使用Speech_to_text和flutter_tts在应用程序中提供命令和获取用户命令。但是,当我尝试将用户语音命令与我的结果进行比较时,它会说“不正确,正确,正确”。我只是想根据我的其他条件给我答案。这是代码:
class TestScreen extends StatefulWidget {
@override
_TestScreenState createState() => _TestScreenState();
}
class _TestScreenState extends State<TestScreen> {
stt.SpeechToText _speech;
bool _isListening = false;
String _text = '';
final flutterTts = FlutterTts();
void initState() {
super.initState();
_speech = stt.SpeechToText();
speak('What is this');
}
speak(text) async {
await flutterTts.setLanguage("en-US");
await flutterTts.setPitch(10);
await flutterTts.speak(text);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Center(
child: Text(
'Test',),body: ListView(
children: <Widget>[
Container(
child: Image.asset(
'assets/images/apple.jpg',width: 500.0,height: 240.0,fit: BoxFit.contain,Container(
child: FloatingActionButton(
onPressed: _listen,child: Icon(_isListening ? Icons.mic : Icons.mic_none),],);
}
void _listen() async {
if (!_isListening) {
bool available = await _speech.initialize(
onStatus: (val) => print('onStatus: $val'),onError: (val) => print('onError: $val'),);
if (available) {
setState(() => _isListening = true);
_speech.listen(
onResult: (val) => setState(() {
_text = val.recognizedWords;
if (_text == 'Apple') {
speak('Correct');
} else {
speak('Wrong ');
}
}),);
}
} else {
setState(() => _isListening = false);
_speech.stop();
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。