android学习之留声拍照

来源:互联网 发布:mac dmg装不上 编辑:程序博客网 时间:2024/04/30 01:23

1、   拍照后,底层会连续三次回调UI层AbstractShotMode类的onPictureTaken方法,第一次会调用VoicePhotoFeaturePictureCallback类中的onLastPictureTaken方法,接着回调PhotoModule类中的onLastPictureTaken(boolean isNeedStartPreview)方法,接着在VoicePhotoFeaturePictureCallback类中继续调用recordingVoiceForPic方法准备拍照录音的UI界面。

2、   第二次会调用CommonFeaturePictureCallback类中的onQuickThumbnail(byte[] data,boolean flag)方法,接着回调PhotoModule类中的onQuickThumbnail(byte[] data, boolean isGenUrlEarlier)方法,用于生成缩略图,更新界面上的缩略图。

3、   第三次会调用VoicePhotoFeaturePictureCallback类中的storeImage(byte[] jpegData, int postWidth, int postHeight,boolean isHdr, boolean updateThumbnail)方法,判断当前是否正在录音,如果正在录音则发送消息给UI,将拍照的图像数据传给录音界面并显示出来,否则将图像数据保存到mJpegData中。再回调PhotoModule类中的storeImage(byte[] jpegData, int postWidth, int postHeight ,boolean isHdr ,Location mLocation , boolean updateThumbnail)方法,实现图像数据的保存,录音完成或手动按停止按钮后,会调用VoicePhotoFeaturePictureCallback类中的onStopRecording()方法。

 

0 0