问题描述
我正在尝试将语音文本转换方法添加到我的应用程序中以转换我的 但是我有这个错误
[ERROR:flutter / lib / ui / ui_dart_state.cc(157)]未处理的异常: NoSuchMethodError:方法“初始化”在null上调用。 E / flutter(13534):接收方:空E / flutter(13534):尝试调用: initialize(onError:Closure:(SpeechRecognitionError)=>无效, onStatus:闭包:(字符串)=>无效)
请注意,我正在将录音权限放入android清单
这是我用来语音转文字的功能
bool isListening = false;
stt.SpeechToText _speech;
void listen() async {
if (!isListening) {
bool available = await _speech.initialize(
onStatus: (val) => print('onState: $val'),onError: (val) => print('onError: $val'),);
if (available) {
setState(() => isListening = true);
_speech.listen(
onResult: (val) => setState(() {
resultText = val.recognizedWords;
}),);
} else {
setState(() => isListening = false);
_speech.stop();
}
}
}
这是我显示它的代码
Row(
mainAxisAlignment:
MainAxisAlignment.center,children: <Widget>[
AvatarGlow(
animate: isListening,glowColor: Colors.red[200],endRadius: 75.0,duration: const Duration(
milliseconds: 2000),repeatPauseDuration:
const Duration(
milliseconds: 100),repeat: true,child: FloatingActionButton(
child: Icon(isListening
? Icons.mic
: Icons.mic_none),onPressed: (){
listen();
},mini: true,),Container(
width: MediaQuery.of(context)
.size
.width *
0.4,decoration: BoxDecoration(
color: Colors.grey[350],borderRadius:
BorderRadius.circular(
10.0),child: Text(
resultText,],
所以任何人都可以帮助我!
解决方法
发生此错误是由于您没有实例化stt.SpeechToText
对象,然后调用了程序包的Initialize函数。
您可以使用以下实例化它
stt.SpeechToText _speech = stt.SpeechToText();