Camera shuttersound 有時off,有時On

App 出現的問題爲:java

       錄製video 時,shutter sound的聲音不統一,時有時無。ide

       進入Camera應用--> 錄像開始 --> 點擊shutter時,無shutter sound --> 錄像中止時,click shutter,無shutter sound --> 播放錄製的視頻 --> back鍵,返回到取景界面 --> 再次錄像 ,有shutter sound.code

       分析:視頻

      只要點擊back鍵,再次錄製視頻的時候,shutter sound不是預期的結果,推斷出在onResume()方法中,沒有從preference.xml中取KEY_SHUTTER_SOUND的值,而發生來默認行爲。查看代碼xml

   

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的生命週期。get

從上圖可知, 第一次啓動Camera,進入取景界面,並開始錄像,onCreate()方法得以執行,則shuttersound的value會從preference.xml中取得,接着用戶點擊播放錄製的視頻,而後back鍵回到取景的界面,再次錄像,本次click shutter的時候,執行的是onResume()方法,而onResume()方法中shuttersound並無從preference.xml中進行取值,而是調用默認的string

R.string.pref_camera_shutter_sound_default

而我已經在string.xml中設定該值爲on。it

相關文章
相關標籤/搜索