2009-10-20 9 views
7

Estoy usando la cámara predeterminada de Android para hacer clic en las imágenes desde mi aplicación. Quiero detener el sonido de clic que hace al hacer clic en una imagen. ¿Hay alguna manera de detener el sonido de clic programáticamente?detener la cámara, haga clic en sonido mediante programación en android

Gracias.

+4

Los teléfonos están obligados a emitir un clic por ley en algunos países. mira aquí, por ejemplo: http://www.opencongress.org/bill/111-h414/show –

Respuesta

6

Pude utilizar el truco con éxito para bajar el volumen. Lo hice justo antes de tomar la fotografía:

AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    mgr.setStreamMute(AudioManager.STREAM_SYSTEM, true); 

Y esto sólo después de recibir el primer mensaje de vuelta:

AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    mgr.setStreamMute(AudioManager.STREAM_SYSTEM, false); 
+2

¡Gracias por la sugerencia! Modifiqué esto ligeramente usando setStreamVolume(). El beneficio es que primero puedo llamar a getStreamVolume() y luego restaurar el sistema a su configuración original. –

1

Por mi Nexus S corriendo 4.0.3,

AudioManager.STREAM_SYSTEM
no impide que el sonido del obturador de la cámara de emitiendo
, pero
AudioManager.STREAM_MUSIC
funciona!

5

para deshabilitar el uso del sonido este código:

AudioManager mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
int streamType = AudioManager.STREAM_SYSTEM; 
mgr.setStreamSolo(streamType, true); 
mgr.setRingerMode(AudioManager.RINGER_MODE_SILENT); 
mgr.setStreamMute(streamType, true); 

para permitir el uso de sonido este código:

mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
streamType = AudioManager.STREAM_SYSTEM; 
mgr.setStreamSolo(streamType, false); 
mgr.setRingerMode(AudioManager.RINGER_MODE_SILENT); 
mgr.setStreamMute(streamType, false); 
+3

puede usar este código también para silencio: AudioManager audioMngr = (AudioManager) getSystemService (Context.AUDIO_SERVICE); audioMngr.setRingerMode (AudioManager.RINGER_MODE_SILENT); para el modo normal: audioMngr.setRingerMode (AudioManager.RINGER_MODE_NORMAL); – PankajAndroid

+0

gracias @Pankaj los códigos de trabajo –

0

Puede activar y desactivar el dispositivo utilizando el código de abajo:

final AudioManager mode = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); 
//Silent Mode Programatically 
mode.setRingerMode(AudioManager.RINGER_MODE_SILENT); 

//Normal Mode Programatically 
mode.setRingerMode(AudioManager.RINGER_MODE_NORMAL); 
Cuestiones relacionadas