美文网首页Android开发经验谈Android开发Android技术知识
Android 拍照声音问题(声音大小不可变、音量按键无法调节大

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

作者: 代码视觉 | 来源:发表于2018-08-22 18:27 被阅读4次

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

    <!-- Whether camera shutter sound is forced or not  (country specific). -->
    <bool name="config_camera_sound_forced">true</bool>

如上这个,配置成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 拍照声音问题(声音大小不可变、音量按键无法调节大

    本文链接:https://www.haomeiwen.com/subject/vnwyiftx.html