6

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?

Pang
  • 9,564
  • 146
  • 81
  • 122
duduhayo
  • 95
  • 1
  • 1
  • 9

3 Answers3

8

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

brandall
  • 6,094
  • 4
  • 49
  • 103
3

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.

Geeky bean
  • 475
  • 6
  • 21
1

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"/>
Daniel X
  • 105
  • 1
  • 7