Я хотел бы играть собственный файл звукозаписи затвора камеры на получении предварительного просмотра камеры. Я обращаюсь к файлу звукозаписи, играемому когда takePicture()
назван.
Как мог я это? Кто-то может обойти меня через шаги?
Этот ресурс объясняет, как воспроизводить аудиофайлы: https://developer.android.com/guide/topics/media /index.html
Вероятно, вам придется создать свой собственный звуковой эффект затвора.
Вы можете использовать SoundPool
SoundPool soundPool = new SoundPool(1, AudioManager.STREAM_NOTIFICATION, 0);
int shutterSound = soundPool.load(this, R.raw.camera_click, 0);
, а затем воспроизводить звук
soundPool.play(shutterSound, 1f, 1f, 0, 0, 1);
Ознакомьтесь с http://developer.android.com/reference/android/media/SoundPool.html , чтобы понять параметры.
Вам понадобится медиафайл с именем camera_click.ogg в вашем проекте в res / raw. Вы должны иметь возможность использовать звук по умолчанию Android, который можно получить из проекта с открытым исходным кодом Android в следующем месте (frameworks / base / data / звуки / эффекты / camera_click.ogg), если ваш проект лицензирован по лицензии Apache. Если ваш проект не лицензирован под лицензией Apache, я понятия не имею, можете вы его использовать или нет. Я не юрист.
Если системный файл есть, вы можете использовать его следующим образом:
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();
}
}