之前曾有人问过这个问题,但似乎没人能解决:Muting SpeechRecognizer's beep sound
尽管如此,我仍然想知道是否有人知道如何使SpeechRecognizer的蜂鸣声静音?
我创建了SpeechRecognizer对象:private SpeechRecognizer sr = SpeechRecognizer.createSpeechRecognizer(this);
然后在我的类里面,我像这样实例化了SpeechRecognizer
sr.setRecognitionListener(new listener());
Intent i = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
i.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
i.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, getApplication()
.getClass().getName());
i.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 6);
i.putExtra(RecognizerIntent.EXTRA_PROMPT, "");
i.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 7000);
sr.startListening(i);
有什么好主意的人吗?我研究可以创建一个AudioManager对象(AudioManager mAudioManager),然后使用setStreamSolo()将声音静音。但是我不确定如何实现这一点。我将其添加到了SpeechRecognizer的实例化代码中,没有任何 react 。这是我类应该调用我的东西吗?
mAudioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true);
先感谢您。
最佳答案
抱歉,我没有评论。但是我想帮忙。
你见过这个吗:
Continues Speech Recognition beep sound after Google Search update
Is it possible to turn off the silent mode programmatically in android?
Mute the global sound in Android
在我看来,代码因Android版本而异-如第一个链接中所述, Google将'beep'的输出切换为媒体流。
我猜这些问题之一将会解决。如果是这样,请发表您的所作所为,就像您所说的那样,许多人似乎都遇到了问题。
我的猜测是:
//mute audio
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);
//unmute audio
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);
我想象来自见证应用程序用户的此答案将起作用。归功于:@WitnessApplications
同样,在您开始Listening(i)之前,它的范围将是;