Question

I have an app that keeps on listening to voice and converting it to commands using Google Voice API.

I have been using setStreamMute(AudioManager.STREAM_SYSTEM, true) to mute the beep and it worked until a couple of days ago before "Google Search" new update. Is there any workaround fix for it?

I know I can use setRingerMode(AudioManager.RINGER_MODE_SILENT), but maybe there is another method?

Was it helpful?

Solution

In the update they switched the output of the 'beep' to the media stream.

So you'll need to mute the AudioManager.STREAM_MUSIC

There's an enhancement request about it here

OTHER TIPS

Mute the beep by muting the notification sound:

(getSystemService(Context.AUDIO_SERVICE) as AudioManager).adjustStreamVolume(AudioManager.STREAM_NOTIFICATION, AudioManager.ADJUST_MUTE,0)

Make sure to unmute it after you start listening:

(getSystemService(Context.AUDIO_SERVICE) as AudioManager).adjustStreamVolume(AudioManager.STREAM_NOTIFICATION, AudioManager.ADJUST_UNMUTE,0)

Please note that there's a beep sound when the listening stops.

The beep sound can be muted by using AudioManager

AudioManager mAudioManager =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);

To unmute sound

AudioManager mAudioManager =(AudioManager)getSystemService(Context.AUDIO_SERVICE);
mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, false);

Also add permission to Manifest.xml

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top