Intereting Posts
Как скрыть значок действия share (который используется больше всего) рядом с поставщиком акций? Как установить время отображения тоста меньше, чем Toast.LENGTH_SHORT Андроид, как сохранить растровый – багги код Как отличить приложение Android от Amazon Kindle Fire? Android: requestLocationUpdates обновляет местоположение максимум каждые 45 секунд Проблемы с анимацией макета списка IOS-подобный инструмент раскадровки для Android-проекта? Android проверяет наличие GPS на устройстве Как версия Java для Android относится к версии Java SE? Можно ли обнаружить и запустить сторонние приложения Android Instant на эмулированном устройстве? Как разместить HTTPS в Android Доступ к содержимому R.string с использованием переменной для представления имени ресурса Как использовать isInEditMode (), чтобы увидеть макет с пользовательским представлением в редакторе Отладка в браузере акций на Samsung Galaxy S4 на KitKat Как общаться с сервером без подключения к Интернету?

Как отключить звук затвора камеры на телефоне Android

Есть ли способ отключить звук затвора камеры в Android (не укомплектованный телефон)?

Я использую этот код для отключения звука во время съемки:

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 , он не работает. Есть ли другая работа?

Solutions Collecting From Web of "Как отключить звук затвора камеры на телефоне Android"

Попробуйте этот код:

 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 (), так как есть известная проблема в android ниже версии 2.3 ..

Поскольку уровень API 17 (4.2) существует, надежный способ сделать это, если производитель телефона поддерживает его.

Сначала определите, можно ли отключить звук затвора программно, затем отключите его

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

Вам необходимо установить id на соответствующий идентификатор камеры в вызове Camera.getCameraInfo или отключить их все в цикле от 0 до Camera.getNumberOfCameras() – 1.

Документация разработчика рекомендует воспроизводить другой звук вместо звука затвора, но вы не обязаны это делать.

Метод, который вы уже опубликовали, на самом деле является лучшим из того, что я могу найти / подумать. Причина, по которой он не работает, заключается в том, что он не должен. Фактически, во многих местах (большая часть Европы, Японии, частях США и т. Д.) Запрещено отключать звук затвора. Это так, что вы не можете делать снимки в местах, где вы не должны, и поэтому вы не фотографируете людей без их разрешения и так далее. Это просто выстрел в темноте, который производитель намеренно пытался убедиться, что вы не можете сделать это независимо от того, что (хотя технически всегда есть способ), но когда вы думаете об этом, логически нет причин, по которым ваш код не должен Работа права? Это просто, основательно, имеет смысл. В любом случае, есть много приложений для скрытой камеры, и камера + ICS фактически построена на стандартной ICS-камере, но имеет параметр Silent Shutter, поэтому это должно быть возможно.

Есть телефоны, которые воспроизводят звук затвора самостоятельно. В этом случае, кажется, невозможно отключить звук затвора.

Один сумасшедший способ, я могу думать, это получить разрешение отключить телефон.