Android 减少重新启动google语音识别进行关键字检测时的停机时间

Android 减少重新启动google语音识别进行关键字检测时的停机时间,android,speech-recognition,android-sensors,Android,Speech Recognition,Android Sensors,我正在尝试使用android语音识别API实现关键字检测。 到目前为止,我通过调用recognizer.startListening实现了这一点,当调用onError或onResults函数时,取消识别器,然后再次启动它 speech.cancel(); speech.startListening(recognizerIntent); 这是非常好的工作,但我有一个小的停机时间之间取消和重新启动(0.5-1秒),我想知道是否有更好的和更少的“黑客”的方式来获得这一功能,或只是一种方式,以确保识别

我正在尝试使用android语音识别API实现关键字检测。 到目前为止,我通过调用recognizer.startListening实现了这一点,当调用onError或onResults函数时,取消识别器,然后再次启动它

speech.cancel();
speech.startListening(recognizerIntent);
这是非常好的工作,但我有一个小的停机时间之间取消和重新启动(0.5-1秒),我想知道是否有更好的和更少的“黑客”的方式来获得这一功能,或只是一种方式,以确保识别器重新启动更快

以下是一些可能有用的LogCat信息

11-25 09:49:03.331: I/MainActivity(4730): onError
11-25 09:49:03.361: I/GoogleRecognitionServiceImpl(4745): #startListening [en-GB]
11-25 09:49:03.371: D/AudioHardware(104): AudioHardware pcm capture is going to standby.
11-25 09:49:03.391: D/dalvikvm(4745): threadid=35: thread exiting, not yet detached (count=0)
11-25 09:49:03.391: D/dalvikvm(4745): threadid=36: thread exiting, not yet detached (count=0)
11-25 09:49:03.391: I/AudioService(386):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@417d3b30fiw@4172a1f8
11-25 09:49:03.391: I/AudioService(386):  AudioFocus  abandonAudioFocus() from android.media.AudioManager@417d3b30fiw@4172a1f8
11-25 09:49:03.421: I/decoder(4745): WARNING: score_cache_ref not set. Using deprecated score cache creation.
11-25 09:49:03.431: D/dalvikvm(4745): GC_FOR_ALLOC freed 555K, 28% free 3248K/4476K, paused 24ms, total 24ms
11-25 09:49:03.441: I/MicrophoneInputStream(4745): mic_starting ela@4174c4a8
11-25 09:49:03.451: I/decoder(4745): WARNING: score_cache_ref not set. Using deprecated score cache creation.
11-25 09:49:03.461: D/AudioHardware(104): AudioHardware pcm playback is exiting standby.
11-25 09:49:03.461: D/AudioHardware(104): openPcmOut_l() mPcmOpenCnt: 0
11-25 09:49:03.461: D/alsa_pcm(104): pcm_open(0x0003f000)
11-25 09:49:03.461: D/alsa_pcm(104): pcm_open() period sz multiplier 16
11-25 09:49:03.461: D/alsa_pcm(104): pcm_open() period cnt 6
11-25 09:49:03.461: D/alsa_pcm(104): pcm_open() period_cnt 6 period_sz 1024 channels 2
11-25 09:49:03.461: D/AudioHardware(104): AudioStreamInALSA::setParameters() input_source=6;routing=262144
11-25 09:49:03.471: D/AudioHardware(104): AudioHardware pcm capture is exiting standby.
11-25 09:49:03.471: D/alsa_pcm(104): pcm_open(0x1003f000)
11-25 09:49:03.471: D/alsa_pcm(104): pcm_open() period sz multiplier 16
11-25 09:49:03.471: D/alsa_pcm(104): pcm_open() period cnt 6
11-25 09:49:03.481: D/dalvikvm(4745): GC_CONCURRENT freed 27K, 17% free 3720K/4476K, paused 3ms+2ms, total 33ms
11-25 09:49:03.481: D/alsa_pcm(104): pcm_open() period_cnt 6 period_sz 1024 channels 2
11-25 09:49:03.581: I/alsa_pcm(104): leftValid 1 rightValid 2
11-25 09:49:03.821: W/SpeechLevelGenerator(4745): Really low audio levels detected. The audio input may have issues.
11-25 09:49:03.821: I/MainActivity(4730): onReadyForSpeech
在我看来,问题可能在于麦克风硬件方面的事情,因为我对安卓系统有些陌生,我在这方面不太精通

提前感谢您的回复