2012-04-30 28 views
19

क्या एंड्रॉइड में कैमरा शटर ध्वनि को म्यूट करने का कोई तरीका है (रूट फोन नहीं)?एंड्रॉइड फोन पर कैमरा शटर ध्वनि को म्यूट कैसे करें

मैं अपने ऑडियो ध्वनि म्यूट करने के लिए जब तस्वीर लेने के लिए इस कोड का उपयोग करें:

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

मैं ध्वनि और चुप फ़ोन को म्यूट।

mCamera.takePicture(null, null, photoCallback); 

तो चित्र

यह HTC HERO, HTC Desire, Motorola ME860, MotoA953 पर काम कर रहा है ले लो। लेकिन जब मैंने इसे Samsung Tab p1000 और Sony Experia R800i पर परीक्षण किया, तो यह काम नहीं कर रहा है। क्या कोई और काम आसपास है?

+0

देखते हैं कि यह http://wiki.dandascalescu.com/howtos/android#How_do_I_disable_the_camera_shutter_sound.3F – MAC

+3

इन दो लिंक का पालन करें: http://stackoverflow.com/questions/8906909/how-do-i- बदल-default-शटर ध्वनि-इन-एंड्रॉयड http://stackoverflow.com/questions/9106939/android-camera-takepicture-possible-to-disable-shutter-sound-and-preview-surfa –

+1

किया आप शटर कॉलबैक को शून्य पर सेट करने का प्रयास करते हैं? आप तस्वीर कैसे ले रहे हैं? – styler1972

उत्तर

2

वहां एक फोन हैं जो शटर ध्वनि बजाते हैं। इस मामले में, शटर ध्वनि को अक्षम करना संभव नहीं लगता है।

1

फ़ोन पर म्यूट करने की अनुमति प्राप्त करने के लिए मुझे लगता है कि एक पागल तरीका है।

+0

सेट किया है कि यह कैसे करें? मैंने पहले ही फोन चुप कर दिया है लेकिन अभी भी काम नहीं कर रहा है। – user430926

3

आपके द्वारा पहले से पोस्ट की गई विधि वास्तव में सबसे अच्छी है जिसे मैं ढूंढ/सोच सकता हूं। कारण यह काम नहीं करता है क्योंकि यह नहीं माना जाता है। असल में, कई स्थानों पर (यूरोप, जापान, अमेरिका के अधिकांश हिस्सों आदि) शटर ध्वनि को अक्षम करना अवैध है। ऐसा इसलिए है कि आप उन जगहों पर चित्र नहीं ले सकते जिन्हें आप नहीं चाहते हैं, और इसलिए आप बिना अनुमति के लोगों की तस्वीरें लेते हैं, और इसी तरह। यह अंधेरे में सिर्फ एक शॉट है कि निर्माता ने जानबूझकर यह सुनिश्चित करने की कोशिश की है कि आप ऐसा नहीं कर सकते हैं (हालांकि तकनीकी रूप से हमेशा एक तरीका है), लेकिन जब आप इसके बारे में सोचते हैं, तो तर्कसंगत है कि आपका कोड नहीं होना चाहिए सही काम करो? यह सरल, मूल है, समझ में आता है। वैसे भी, वहां कई मूक कैमरा ऐप्स हैं और कैमरा + आईसीएस वास्तव में डिफ़ॉल्ट आईसीएस कैमरे पर बनाया गया है लेकिन इसमें एक मूक शटर विकल्प है, इसलिए यह संभव होना चाहिए।

+0

मैंने पाया [शटर ध्वनियों के बारे में एक संदर्भ] [https://www.privacyinternational.org/reports/south-korea/ii-surveillance-policy) दक्षिण कोरिया में, लेकिन अमेरिका के बारे में कुछ नहीं। क्या आप मुझे अमेरिका में इस बारे में कानूनी स्थिति बताते हुए दस्तावेज में इंगित कर सकते हैं? AFAICT [यह प्रस्तावित बिल] (http://www.govtrack.us/congress/bills/111/hr414) कभी पारित नहीं हुआ। – cberzan

7

इस कोड का प्रयास करें:

AudioManager manager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
if(TextUtils.equals(muteMode, "mute")){ 
    manager.setStreamVolume(AudioManager.STREAM_SYSTEM, 0 , AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 
}else{ 
    manager.setStreamVolume(AudioManager.STREAM_SYSTEM, manager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM) , AudioManager.FLAG_ALLOW_RINGER_MODES); 
} 
//here continue to take picture... 

AudioManager.setStreamMute() विधि का उपयोग नहीं करते, क्योंकि वहाँ संस्करण 2.3 नीचे Android पर एक ज्ञात समस्या ..

+0

यह 2.3.3 – wired00

+0

के साथ मेरे लिए काम नहीं करता है, यह 2.3.3 के साथ काम करता है, लेकिन आपको कॉल करने से पहले म्यूट कॉल करने की आवश्यकता है। चित्र() और ShutterCallback.onShutter() –

+1

में अनम्यूट म्यूटमोड क्या है? –

5

एपीआई स्तर के बाद से 17 (4.2) है है ऐसा करने के लिए एक उचित, भरोसेमंद तरीका है, अगर फोन निर्माता इसका समर्थन करता है।

सबसे पहले, का पता लगाने आप शटर ध्वनि प्रोग्रामेटिक निष्क्रिय कर सकते हैं कि क्या है, तो यह

Camera.CameraInfo info = new Camera.CameraInfo(); 
Camera.getCameraInfo(id, info); 
if (info.canDisableShutterSound) { 
    mCamera.enableShutterSound(false) 
} 

आप Camera.getCameraInfo करने के लिए कॉल में उचित कैमरा आईडी पर आईडी सेट करें, या उन सब को एक में अक्षम करना होगा को निष्क्रिय लूप 0 से Camera.getNumberOfCameras() - 1.

developer documentation अनुशंसा करता है कि आप शटर ध्वनि के स्थान पर एक और ध्वनि बजाएं, लेकिन आप के लिए बाध्य नहीं हैं।

संबंधित मुद्दे