美文网首页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