para - manual de programacion android pdf
Cómo reproducir el sonido nativo de la cámara en Android (4)
Me gustaría reproducir el clip de sonido del obturador de cámara nativo en la captura de vista previa de la cámara. Me refiero al clip de sonido que se reproduce cuando se llama a takePicture()
.
¿Cómo podría eso? ¿Alguien me puede guiar a través de los pasos?
Es posible que desee utilizar SoundPool
SoundPool soundPool = new SoundPool(1, AudioManager.STREAM_NOTIFICATION, 0);
int shutterSound = soundPool.load(this, R.raw.camera_click, 0);
y luego a reproducir el sonido
soundPool.play(shutterSound, 1f, 1f, 0, 0, 1);
Echa un vistazo a http://developer.android.com/reference/android/media/SoundPool.html para comprender los parámetros.
Necesitará un archivo multimedia llamado camera_click.ogg en su proyecto en res / raw. Debería poder usar el sonido predeterminado de Android que puede obtenerse del proyecto de código abierto de Android en la siguiente ubicación (frameworks / base / data / sounds / effects / camera_click.ogg) si su proyecto tiene licencia de Apache. Si su proyecto no tiene licencia bajo la licencia de Apache, no tengo idea si puede usarlo o no. Yo no soy un abogado.
Este recurso explica cómo reproducir archivos de audio: https://developer.android.com/guide/topics/media/index.html
Probablemente tendrás que proporcionar tu propio efecto de sonido del obturador.
Puede usar la clase MediaActionSound (disponible en API 16). Por ejemplo:
MediaActionSound sound = new MediaActionSound();
sound.play(MediaActionSound.SHUTTER_CLICK);
Si el archivo del sistema está ahí, puedes usarlo así:
public void shootSound()
{
AudioManager meng = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
int volume = meng.getStreamVolume( AudioManager.STREAM_NOTIFICATION);
if (volume != 0)
{
if (_shootMP == null)
_shootMP = MediaPlayer.create(getContext(), Uri.parse("file:///system/media/audio/ui/camera_click.ogg"));
if (_shootMP != null)
_shootMP.start();
}
}