簡體   English   中英

Flutter 語音轉文本在 Android 上不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM