2009-10-20 9 views
7

ich benutze androids standard kamera, um bilder von innerhalb meiner app klicken. Ich möchte den Klick-Ton beim Klicken auf ein Bild stoppen. Gibt es eine Möglichkeit, den Klick-Sound programmatisch zu stoppen?stop kamera klicken ton programmgesteuert in android

Danke.

+4

Telefone müssen in einigen Ländern per Gesetz ein Klickgeräusch erzeugen. schau hier zum Beispiel: http://www.opencongress.org/bill/111-h414/show –

Antwort

6

Ich konnte den Trick erfolgreich verwenden, um die Lautstärke zu verringern. Ich tat dies kurz vor der Aufnahme des Bildes:

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

Und das kurz nach der ersten Nachricht immer wieder:

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

Danke für den Vorschlag! Ich habe dies leicht modifiziert, indem ich setStreamVolume() benutzt habe. Der Vorteil ist, dass ich zuerst getStreamVolume() aufrufen und später das System auf seine ursprüngliche Einstellung wiederherstellen kann. –

1

Für mein Nexus S 4.0.3 ausgeführt wird, wird

AudioManager.STREAM_SYSTEM
nicht Kamera Verschlussgeräusch verhindern Emission
, aber
AudioManager.STREAM_MUSIC
funktioniert!

diesen Code
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); 

Damit Klang Verwendung:

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

diesen Code Sound Verwendung zu deaktivieren

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); 
+3

Sie können diesen Code auch für Stille verwenden: AudioManager audioMngr = (AudioManager) getSystemService (Context.AUDIO_SERVICE); audioMngr.setRingerMode (AudioManager.RINGER_MODE_SILENT); für den normalen Modus: audioMngr.setRingerMode (AudioManager.RINGER_MODE_NORMAL); – PankajAndroid

+0

danke @Pankaj die Codes arbeiten –

0

Sie können stumm schalten und die Stummschaltung Ihres Geräts den Code unter Verwendung von: