Android 拍照声音问题(声音大小不可变、音量按键无法调节大小)

Android设备在拍照时会有一个快门声,大部分设备在调节音量按键时拍照的这个声音是不发生变化的,也就是说固定在一个音量上。
当然一些地区可能要求拍照必须要有声音,也就是说不管在什么情况下拍照都要发出声音,即使在静音模式下。
所以就出现上面说的音量固定不可调节的现象。
1、拍照必须有声音且音量值固定
关于这个的实现,在android中有它相关的一个config信息。具体是
frameworks\base\core\res\res\values\config.xml中

    
    true

如上这个,配置成true,在拍照时就会有声音。反之false
除此之外,也可在
init.rc中setprop ro.camera.sound.forced这个property值,将其置为1

2、音量按键无法调节大小

这个的修改方式是设置camera service的AudioStreamType。具体如下


MediaPlayer* CameraService::newMediaPlayer(const char *file) {

    MediaPlayer* mp = new MediaPlayer();
    if (mp->setDataSource(NULL /* httpService */, file, NULL) == NO_ERROR) {
        //修改type为system或者ring都可以
        //mp->setAudioStreamType(AUDIO_STREAM_ENFORCED_AUDIBLE);
        mp->setAudioStreamType(AUDIO_STREAM_SYSTEM);
        mp->prepare();
    } else {
        ALOGE("Failed to load CameraService sounds: %s", file);
        return NULL;
    }

以上方案验证是ok的,可以完美的实现需求的要求。
更多精彩文章,请关注如下二维码对应公众号“代码视觉”。转载请联系授权!


Android 拍照声音问题(声音大小不可变、音量按键无法调节大小)_第1张图片
代码视觉

你可能感兴趣的:(Android 拍照声音问题(声音大小不可变、音量按键无法调节大小))