相机按键音资源,加载文件路径:
frameworks/av/services/camera/libcameraservice/CameraService.cpp
按键音,加载函数:
void CameraService::loadSoundLocked(sound_kind kind) {
ATRACE_CALL();
LOG1("CameraService::loadSoundLocked ref=%d", mSoundRef);
if (SOUND_SHUTTER == kind && mSoundPlayer[SOUND_SHUTTER] == NULL) {
// 拍照按键音资源加载
mSoundPlayer[SOUND_SHUTTER] = newMediaPlayer("/product/media/audio/ui/camera_click.ogg");
if (mSoundPlayer[SOUND_SHUTTER] == nullptr) {
mSoundPlayer[SOUND_SHUTTER] = newMediaPlayer("/system/media/audio/ui/camera_click.ogg");
}
} else if (SOUND_RECORDING_START == kind && mSoundPlayer[SOUND_RECORDING_START] == NULL) {
// 录像启动按键音资源加载
mSoundPlayer[SOUND_RECORDING_START] = newMediaPlayer("/product/media/audio/ui/VideoRecord.ogg");
if (mSoundPlayer[SOUND_RECORDING_START] == nullptr) {
mSoundPlayer[SOUND_RECORDING_START] = newMediaPlayer("/system/media/audio/ui/VideoRecord.ogg");
}
} else if (SOUND_RECORDING_STOP == kind && mSoundPlayer[SOUND_RECORDING_STOP] == NULL) {
// 录像停止按键音资源加载
mSoundPlayer[SOUND_RECORDING_STOP] = newMediaPlayer("/product/media/audio/ui/VideoStop.ogg");
if (mSoundPlayer[SOUND_RECORDING_STOP] == nullptr) {
mSoundPlayer[SOUND_RECORDING_STOP] = newMediaPlayer("/system/media/audio/ui/VideoStop.ogg");
}
}
}
用户可以自定义修改,按键音:
替换按键音资源,直接替换camera_click.ogg,VideoRecord.ogg,VideoStop.ogg。
禁止按键音,可以直接删除资源或在资源加载过程进行禁止修改。
声音资源路径:
frameworks\base\data\sounds\effects\ogg
camera_click.ogg
camera_click_48k.ogg
adb查看设备,声音资源路径:
a71x:/system/media/audio/ui $ ls -al camera*
-rw-r--r-- 1 root root 8703 2008-12-31 23:00 camera_click.ogg
-rw-r--r-- 1 root root 9376 2008-12-31 23:00 camera_focus.ogg