Intereting Posts
Эспрессо: как сделать собственный салфетки, например, swipeTop или swipeBottom Импорт библиотеки drag-sort-listview в проекте Android Studio gradle Android Studio: новая ошибка приложения NDK для создания градиента Создание файла PDF / Word (Doc) в приложении Android – информация об использовании аккумулятора Eclipse через некоторое время зависает с ошибкой java Динамическое изменение цвета изображения SVG в Android Может ли универсальный загрузчик изображений для android работать с изображениями из sqlite db? Использование текстового представления Android в качестве метки и значения 9patch для большого количества ресурсов без потери качества Биди Право на левый язык в Firemonkey Mobile Предотвратите уничтожение службы Android после несвязанного Обнаруживать нажмите кнопку HTML через javascript в Android WebView Класс Android VpnService и его класс-строитель Как отображать ImageView постепенно вниз сверху вниз

Камера с пользовательским звуком затвора

У меня есть пользовательская реализация camera которую я хотел бы иметь собственный звук при съемке с использованием API 10. У меня есть следующий код, который play my sound но он также воспроизводит звук камеры по умолчанию, а мне нужно только Воспроизведите звук моей камеры, а не по умолчанию.

  //takes picture mCamera.takePicture(myShutterCallback, myPictureCallback_RAW, myPictureCallback_JPG); ShutterCallback myShutterCallback = new ShutterCallback() { @Override public void onShutter() { MediaPlayer.create(SecondCamera.this,R.raw.camera_click).start(); } }; 

Solutions Collecting From Web of "Камера с пользовательским звуком затвора"

Попробуй это,

 if (android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.JELLY_BEAN_MR1){ camera.enableShutterSound(false); } else{ AudioManager audio= (AudioManager)this.getApplicationContext().getSystemService(Context.AUDIO_SERVICE); currentVolume=audio.getStreamVolume(AudioManager.STREAM_SYSTEM); audio.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); MediaPlayer media= MediaPlayer.create(SecondCamera.this,R.raw.camera_click); media.setAudioStreamType(AudioManager.STREAM_NOTIFICATION); isVolumeChanged=true; } 

Выполните вышеуказанные действия перед onShutter() затем вызовите media.start() на onShutter()

Затем на onPictureTaken() Сделайте следующее.

 public void onPictureTaken(byte[] data, Camera camera) { if (isVolumeChanged){ audio.setStreamVolume(AudioManager.STREAM_SYSTEM,currentVolume,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); } } 

Надеюсь это поможет!!!!!