我正在开发一个基于语音识别的Android应用程序.
直到今天,一切都工作得很好并且及时,例如,我会开始我的语音识别器,说话,并且在最多1或2秒内,应用程序收到结果.
这是一个非常可接受的用户体验.
那么今天我现在必须等待十秒或更长时间才能获得识别结果.
我尝试过设置以下EXTRAS,其中没有一个会产生任何明显的区别
RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS
RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS
RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS
Run Code Online (Sandbox Code Playgroud)
我一直在不断更改我的应用程序,但这些更改都与语音识别器无关.
我可以采用任何方法来缩短语音识别器切换onBeginningOfSpeech()到的时间onResults()吗?
这是一个需要多长时间的例子
07-01 17:50:20.839 24877-24877/com.voice I/Voice: onReadyForSpeech()
07-01 17:50:21.614 24877-24877/com.voice I/Voice: onBeginningOfSpeech()
07-01 17:50:38.163 24877-24877/com.voice I/Voice: onEndOfSpeech()
Run Code Online (Sandbox Code Playgroud) android speech-recognition voice-recognition google-voice-search
在调用startListening()之后,在Android上使用SpeechRecognizer.stopListening()时遇到问题.它似乎没有任何效果.继续处理音频,并返回识别结果,就像没有调用stopListening()一样.
还有其他人有类似的问题吗?我可能做错了吗?
一个可能的线索:在调用stopListening()之后,立即使用SpeechRecognizer.ERROR_CLIENT调用onError().也许这意味着停止调用失败了?
在检测到语音开始之前或正在处理语音时调用stopListening()时,都会出现此问题.
startListening()和stopListening()都是从主线程调用的.
至少在两个不同的设备上测试了Android 5和6.
我终于将我的一个旧项目从 Eclipse/ADT 迁移到 Android Studio (2021.3.1.17)。
在此迁移过程中,我修复了许多由过时和已弃用的方法和关键字引起的问题,这些方法和关键字过去在 Android 2.2 (API 8) 上完美运行,并且在 Eclipse/ADT 上没有产生任何警告。
但现在,在 Android Studio 2021.3、目标 SDK 33 上,我在 AndroidManifest.xml 中收到此错误:
Class referenced in the manifest,
`com.google.android.voicesearch.DetailsReceiver`,
was not found in the project or the libraries
Run Code Online (Sandbox Code Playgroud)
我在谷歌上搜索了有关如何解决此问题的线索,但显然这DetailsReceiver已经太旧了,实际上已经没有任何参考了。
Android Studio中如何消除这个错误?是否有我可以添加到模块中以使其消失的参考?
更新:过去包含此内容的软件包DetailsReceiver可以从market://details?id=com.google.android.voicesearch. 它不再存在于 Google Play 上。
如果您搜索 Google Play,com.google.android.voicesearch您将获得以下与 Google LLC 相关的匹配项:
我很困惑。有很多候选人希望直接替换com.google.android.voicesearch但对此不清楚的文档或信息。哪个可下载包取代了它?
我之所以强调“可下载”,是因为在开箱即用的 Google Pixel 4a(Android 11)上,查询时PackagManager …
android ×3