我正在使用Android的默认语音识别器。但是您可能知道在启动识别器时以及触发onError()事件时它会发出哔声。从Android版本5.x开始发出哔声。
我的要求是实现连续识别器。所以我必须一次又一次地启动这个识别器。在这种情况下,蜂鸣声一次又一次地播放。我试图找到如下的解决方案:
在启动识别器之前静音媒体声音,然后在onSpeechReady()事件中再次取消静音。另一方面,如果识别器没有检测到任何语音4/5秒,那么它会自动调用onError()事件,这个onError()事件再次发出蜂鸣声。为了解决这个问题,我在3秒后强制停止了识别器,并在系统调用此onError()事件之前通过计时器调用onError()。 但是当我强行关闭识别器时,系统在这里得到了一个例外并且在播放嗡嗡声。
任何人都可以就如何阻止这种哔哔声以及嗡嗡声给出任何解决方案。
提前致谢。
答案 0 :(得分:0)
在开始演讲前使用以下代码
AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
amanager.setStreamMute(AudioManager.STREAM_ALARM, true);
amanager.setStreamMute(AudioManager.STREAM_MUSIC, true);
amanager.setStreamMute(AudioManager.STREAM_RING, true);
amanager.setStreamMute(AudioManager.STREAM_SYSTEM, true);
获得结果后使用以下代码
AudioManager amanager=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, false);
amanager.setStreamMute(AudioManager.STREAM_ALARM, false);
amanager.setStreamMute(AudioManager.STREAM_MUSIC, false);
amanager.setStreamMute(AudioManager.STREAM_RING, false);
amanager.setStreamMute(AudioManager.STREAM_SYSTEM, false);