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 && 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

相关推荐
reasonsummer2 分钟前
【教学类-160-25】20260507 AI视频培训-练习025“豆包AI视频《一日生活》+豆包图片风格:二次元
音视频·豆包
帅次6 分钟前
深入 MaterialTheme:掌握 ColorScheme 与 Typography 的设计核心
android·kotlin·gradle·android jetpack·compose
庞轩px6 分钟前
第五篇:Spring事务管理——@Transactional的底层实现与失效场景
java·spring·事务管理·spring事务·注解transactional
研究点啥好呢8 分钟前
凯捷 自动化测试(Java+Selenium)面试题精选:10道高频考题+答案解析
java·开发语言·python·selenium·测试工具·求职招聘
李白你好9 分钟前
一个面向 Java 反序列化测试的桌面 GUI 工具
java
阿巴斯甜18 分钟前
必看2
android
xieliyu.19 分钟前
Java手搓二叉树:基础遍历与核心操作全解析
java·开发语言·数据结构·学习
luck_bor34 分钟前
题目描述:综合题
java
Halo_tjn1 小时前
基于异常处理机制 相关知识点
java·开发语言·算法