Android(安卓)移动终端camera 防偷*拍设置
16lz
2022-04-26
阅读更多 目前市面上的所有移动终端几乎都有camera应用,但android原生系统在静音模式下拍照是没有声音的,大部分国家的终端都有法规限制,如防止偷*拍,不管什么模式下拍照都应该发出快门音,针对此问题只要修改android原生frameworks/base/services/camera/libcameraservice/cameraservice.cpp中playSound函数即可,修改后的方法如下:
void CameraService::playSound(sound_kind kind) {
LOG1("playSound(%d)", kind);
Mutex::Autolock lock(mSoundLock);
sp<MediaPlayer> player = mSoundPlayer[kind];
if (player != 0) {
// do not play the sound if stream volume is 0
// (typically because ringer mode is silent).
int index;
AudioSystem::getStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE, &index);
if (index != 0) {
AudioSystem::setStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE,index);
player->seekTo(0);
player->start();
} else {
AudioSystem::setStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE,7);
player->seekTo(0);
player->start();
usleep(300000);
AudioSystem::setStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE,0);
}
}
}
void CameraService::playSound(sound_kind kind) {
LOG1("playSound(%d)", kind);
Mutex::Autolock lock(mSoundLock);
sp<MediaPlayer> player = mSoundPlayer[kind];
if (player != 0) {
// do not play the sound if stream volume is 0
// (typically because ringer mode is silent).
int index;
AudioSystem::getStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE, &index);
if (index != 0) {
AudioSystem::setStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE,index);
player->seekTo(0);
player->start();
} else {
AudioSystem::setStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE,7);
player->seekTo(0);
player->start();
usleep(300000);
AudioSystem::setStreamVolumeIndex(AudioSystem::ENFORCED_AUDIBLE,0);
}
}
}
更多相关文章
- Android(安卓)APN的设置问题
- Android(安卓)11适配指南之系统相机拍照、打开相册
- Android(安卓)反编译,修改,重新打包,签名
- android强制修改话机语言
- Android(安卓)APN的设置问题
- Android(安卓)Camer2与Camera1 自定义相机拍照封装实例讲解
- Android中调用设备的照相和摄像功能
- Android中设置全屏的方法
- 【android studio】导入项目后无法运行,修改了gradle还是没用,求助