【问题标题】:Flutter Speech to Text not working on AndroidFlutter Speech to Text 无法在 Android 上运行
【发布时间】:2021-03-21 20:27:15
【问题描述】:

我在 Flutter 中有一个适用于 Android 和 iOS 的应用。 在 iOS 上一切都很完美。但在 Android 上,我在语音转文本方面遇到了一些问题......

我正在使用这个插件:https://pub.flutter-io.cn/packages/speech_to_text/

我的安卓代码是:

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>

【问题讨论】:

    标签: android flutter speech-to-text google-speech-to-text-api


    【解决方案1】:

    尝试将 onDevice 选项切换为 false。

    【讨论】:

      猜你喜欢
      • 2022-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      相关资源
      最近更新 更多