以前有人问过这个问题,但似乎没有人有解决方案: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 的实例化代码中,但没有任何反应。这是我应该从我的主类调用的东西吗?
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 将“哔”的输出切换为媒体流。
我猜其中一个问题会有答案。如果是这样,请发布您所做的事情,正如您所说,许多人似乎都遇到了这个问题。
我的猜测是:
//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);
我想这个来自 Witness 应用程序用户的回答会奏效。归功于:@WitnessApplications
此外,此范围将是在您开始收听(i) 之前;
关于android - 如何使 SpeechRecognizer 的蜂鸣声静音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25538752/