Flutter Speech to text 不连续收听
Flutter Speech to text not listening continuously
正在研究 Flutter 语音到文本的转换并使用语音到文本库,添加以下代码用于收听:
speech.listen(
onResult: resultListener,
listenFor: Duration(minutes: 10),
localeId: _currentLocaleId,
onSoundLevelChange: soundLevelListener,
cancelOnError: false,
partialResults: true);
应用程序在模拟器中连续监听,但在物理设备中几秒钟后自动停止监听。我试过很多图书馆,比如语音识别,仍然出现同样的问题。一切都在模拟器设备上运行,而不是在物理设备上运行。
请对此提出一些建议。
提前致谢。
由于隐私问题,Flutter 对文本库的语音不允许连续收听,这非常烦人。 listenFor 参数是一个上限,如果你能说那么久的话,什么时候停止。
作为替代方案,我建议使用 Flutter 的平台特定实现。这使您可以进行更低级别的控制。 (作为一个快速提示,即使 Android SpeechRecognition 库也包含超时。但是 Vosk api 能够完成您正在寻找的 https://github.com/alphacep/vosk-api). If you're really keen, you can look at building your own IME to integrate with voice typing functionality (https://developer.android.com/guide/topics/text/creating-input-method)。
来自speech_to_text.dart:
/// Android 和 iOS 都有收听时间限制。时间
/// 取决于设备、网络等。Android 通常很短,
/// 特别是如果没有检测到活动语音事件,在订单上
/// 十秒左右。
在 android 中,SpeechRec 在 2 或 3 秒后停止,但在 Ios 中,它会一直收听直到
.stop() 已调用。
正在研究 Flutter 语音到文本的转换并使用语音到文本库,添加以下代码用于收听:
speech.listen(
onResult: resultListener,
listenFor: Duration(minutes: 10),
localeId: _currentLocaleId,
onSoundLevelChange: soundLevelListener,
cancelOnError: false,
partialResults: true);
应用程序在模拟器中连续监听,但在物理设备中几秒钟后自动停止监听。我试过很多图书馆,比如语音识别,仍然出现同样的问题。一切都在模拟器设备上运行,而不是在物理设备上运行。
请对此提出一些建议。
提前致谢。
由于隐私问题,Flutter 对文本库的语音不允许连续收听,这非常烦人。 listenFor 参数是一个上限,如果你能说那么久的话,什么时候停止。
作为替代方案,我建议使用 Flutter 的平台特定实现。这使您可以进行更低级别的控制。 (作为一个快速提示,即使 Android SpeechRecognition 库也包含超时。但是 Vosk api 能够完成您正在寻找的 https://github.com/alphacep/vosk-api). If you're really keen, you can look at building your own IME to integrate with voice typing functionality (https://developer.android.com/guide/topics/text/creating-input-method)。
来自speech_to_text.dart:
/// Android 和 iOS 都有收听时间限制。时间 /// 取决于设备、网络等。Android 通常很短, /// 特别是如果没有检测到活动语音事件,在订单上 /// 十秒左右。
在 android 中,SpeechRec 在 2 或 3 秒后停止,但在 Ios 中,它会一直收听直到 .stop() 已调用。