android audio 相机按键音:(二)加载与修改

相机按键音资源,加载文件路径:

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 && mSoundPlayerSOUND_SHUTTER == NULL) {

// 拍照按键音资源加载

mSoundPlayerSOUND_SHUTTER = newMediaPlayer("/product/media/audio/ui/camera_click.ogg");

if (mSoundPlayerSOUND_SHUTTER == nullptr) {

mSoundPlayerSOUND_SHUTTER = newMediaPlayer("/system/media/audio/ui/camera_click.ogg");

}

} else if (SOUND_RECORDING_START == kind && mSoundPlayerSOUND_RECORDING_START == NULL) {

// 录像启动按键音资源加载

mSoundPlayerSOUND_RECORDING_START = newMediaPlayer("/product/media/audio/ui/VideoRecord.ogg");

if (mSoundPlayerSOUND_RECORDING_START == nullptr) {

mSoundPlayerSOUND_RECORDING_START = newMediaPlayer("/system/media/audio/ui/VideoRecord.ogg");

}

} else if (SOUND_RECORDING_STOP == kind && mSoundPlayerSOUND_RECORDING_STOP == NULL) {

// 录像停止按键音资源加载

mSoundPlayerSOUND_RECORDING_STOP = newMediaPlayer("/product/media/audio/ui/VideoStop.ogg");

if (mSoundPlayerSOUND_RECORDING_STOP == nullptr) {

mSoundPlayerSOUND_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

相关推荐
CoderYanger6 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
思想觉悟6 小时前
SEAndroid实战
android·linux·c++
一条泥憨鱼6 小时前
【Kafka】零基础学习教程
java·分布式·学习·kafka
思想觉悟6 小时前
Aosp开发磨刀石之ADB速查
android·c++
Wang's Blog6 小时前
Java 项目实战:交友项目 - 即时通信总结:全链路复盘、可复用清单与自检
java·python·交友
文丑颜不良啊6 小时前
LeetCode1501~1520题目解析
java·leetcode
一条破秋裤7 小时前
基于 Hi3516CV610 的立定跳远视频测量系统调研与实施方案
arm开发·音视频
2601_966827457 小时前
视频里的特效字幕怎么翻译?外挂字幕与AI字幕一键处理教程
音视频
长不大的杨瑞杰7 小时前
OpenCode v2 LSP 实战:内置语言服务器、自定义配置与诊断闭环
java·人工智能·typescript·lsp·opencode
云和数据.ChenGuang7 小时前
python和java的try
java·开发语言·python