gpt4 book ai didi

android - 如何使 SpeechRecognizer 的蜂鸣声静音?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:46 26 4
gpt4 key购买 nike

以前有人问过这个问题,但似乎没有人有解决方案: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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com