Camera shuttersound 有时off,有时On

App 出现的问题为:

       录制video 时,shutter sound的声音不统一,时有时无。

       进入Camera应用--> 录像开始 --> 点击shutter时,无shutter sound --> 录像停止时,click shutter,无shutter sound --> 播放录制的视频 --> back键,返回到取景界面 --> 再次录像 ,有shutter sound.

       分析:

      只要点击back键,再次录制视频的时候,shutter sound不是预期的结果,推断出在onResume()方法中,没有从preference.xml中取KEY_SHUTTER_SOUND的值,而发生来默认行为。查看代码

   

String cameraSound = mPreferences.getString(CameraSettings.KEY_SHUTTER_SOUND,
getString(R.string.pref_camera_shutter_sound_default));

if (cameraSound != null) {
   int shutterSound = cameraSound.equals("on") ? 1 : 0;
   mCameraDevice.setCameraShutterSound(shutterSound);
}

发现上述代码出现在onCreate()方法中,而onResume()无类似的代码。将此代码从onCreate()方法中move到onResume()方法中,问题得到解决。

 

至此深刻地理解了Activity的生命周期。

从上图可知, 第一次启动Camera,进入取景界面,并开始录像,onCreate()方法得以执行,则shuttersound的value会从preference.xml中取得,接着用户点击播放录制的视频,然后back键回到取景的界面,再次录像,本次click shutter的时候,执行的是onResume()方法,而onResume()方法中shuttersound并没有从preference.xml中进行取值,而是调用默认的

R.string.pref_camera_shutter_sound_default

而我已经在string.xml中设定该值为on。

转载于:https://my.oschina.net/jerikc/blog/78624

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值