[英]Flutter Speech to Text not working on Android
我在 Flutter 中有一個適用於 Android 和 iOS 的應用程序。 在 iOS 上一切正常。 但是在 Android 上,我在語音轉文本方面遇到了一些問題......
我正在使用這個插件: https://pub.flutter-io.cn/packages/speech_to_text/
我的 Android 代碼是:
void startListeningAndroid(BuildContext context) async {
try {
speech.listen(
onResult: (SpeechRecognitionResult result) {
processWords(result, context);
},
listenFor: Duration(seconds: 10),
localeId: _currentLocaleId,
onSoundLevelChange: soundLevelListener,
cancelOnError: false,
partialResults: true,
onDevice: true,
listenMode: ListenMode.dictation,
pauseFor: Duration(seconds: 9),
);
} catch (e) {
print(e.toString());
}
setState(() {});
}
每隔 11 秒,我就會使用以下代碼再次開始收聽:
if (Platform.isAndroid) {
timerSpeech = Timer.periodic(Duration(seconds: 11), ((Timer t) async {
if (voiceRecognitionActivated) {
startListeningAndroid(context);
}
}));
}
但是,一旦我開始 lisening,我就會得到以下日志:
initSpeechState error SpeechRecognitionError msg: error_speech_timeout, permanent: true
initSpeechState error SpeechRecognitionError msg: error_client, permanent: true
該代碼與之前工作的代碼相同,它甚至不會在每次 lisening 工作之前發出“嗶”聲。 android 政策或插件版本是否有任何變化可能導致此問題?
同樣在主文件夾和調試文件夾的 AndroidManifest.xml 中,我有:
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.INTERNET"/>
<queries>
<intent>
<action android:name="android.speech.RecognitionService" />
</intent>
</queries>
嘗試將 onDevice 選項切換為 false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.