2024-04-23 flutter speech_to_tex

2024-04-22  本文已影响0人  江江江123

移动端要接入语音输入转文字,查看使用人数最多的是speech_to_text,但是在接入非google的android手机时出现了很多问题。不是代码的问题,全是手机设置。
1.如果要在国内用,可以直接跳过了,用不了;
如果是google手机,估计官方demo已经可以愉快的测试了。

非google的android手机,比如三星

2.代码的调式模式开启

  void _initSpeech() async {
    _speechEnabled = await _speechToText.initialize(
        onError: errorListener,
        onStatus: statusListener,
        debugLogging: true,
        options: [SpeechToText.androidIntentLookup]);
    setState(() {});
  }
 void errorListener(SpeechRecognitionError error) {
    debugPrint('Received error status: $error');
  }

  void statusListener(String status) {
    debugPrint('Received listener status: $status');
  }

andorid权限申请记得在main和debug下AndroidManifest.xml里都加上

   <uses-permission android:name="android.permission.INTERNET" />
   <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

3.第一个问题:点击开始语音输入 立马出现error,说话也没有任何回调
解决:非google手机要先用google play安装speech reconginition & Synthesis
4.安装后还是会报错:点击开始语音输入,能听见手机响了一下,但是报错没有权限
在手机的app管理位置找到安装的speech reconginition & Synthesis给它授权话筒
5.再次点击语音输入,报错网络异常
外网是ok的。。

补充:
1.不知道是不是手机的原因,开始监听几秒后不会说话会直接结束。
2.关于和videoPlayer联用
问题:当开始监听语音输入时,视频会暂停播放
解决:视频开始混合模式

 VideoPlayerController.file(value, videoPlayerOptions: VideoPlayerOptions(mixWithOthers: true))
上一篇下一篇

猜你喜欢

热点阅读