与时俱进的IT

UI(三十九)录像、拍照

2018-07-30  本文已影响0人  社会主义顶梁鹿

录像拍照

 1、导入框架#import -> UIImagePickerController

 2、先区分 选择摄像头、相册  sourceType

 (1)UIImagePickerControllerSourceTypePhotoLibrary 摄像头

 (2)UIImagePickerControllerSourceTypeCamera 相册

 (3)UIImagePickerControllerSourceTypeSavedPhotosAlbum 相册

 3、再区分录像与拍照 cameraCaptureMode:

 (0)设置录像-> 要先选择媒体的类型 默认拍照不崩溃因为默认设置媒体类型是kUTTypeImage ※※※※※※不然会崩溃

 (1)录像:UIImagePickerControllerCameraCaptureModeVideo

 (2)拍照:UIImagePickerControllerCameraCaptureModePhoto

 4、区分前后摄像头 cameraDevice

 (1)UIImagePickerControllerCameraDeviceRear 前摄像头

 (2)UIImagePickerControllerCameraDeviceFront 后摄像头

 5、选择媒体类型 mediaTypes

 (1)选择媒体类型 默认kUTTypeImage

 (2)kUTTypeImage包含在框架->#import

 (3)需要的内容不是OC里面的字符串类型 需要强制转换

 (4)录制视频 -> 类型要选择kUTTypeMovie 它里面包含了audio和vidio

 6、设置是否显示控制控件 showsCameraControls

 7、设置拍照 takePicture

 8、录像 startVideoCapture、stopVideoCapture

 9、设置视频清晰度 videoQu

 (1)UIImagePickerControllerQualityTypeHigh

 (2)UIImagePickerControllerQualityTypeMedium

 (3)UIImagePickerControllerQualityTypeLow

 (4)UIImagePickerControllerQualityType640x480

 (5)UIImagePickerControllerQualityTypeIFrame1280x720

 (6)UIImagePickerControllerQualityTypeIFrame960x540

 10、设置视频最大的录像时间videoMaximumDuration

 11、设置闪光 cameraFlashMode

 (1)UIImagePickerControllerCameraFlashModeOff 关闭

 (2)UIImagePickerControllerCameraFlashModeAuto自动-默认

 (3)UIImagePickerControllerCameraFlashModeOn 开启

 12、设置调用摄像头视频页面的覆盖视图cameraOverlayView

 13、设置拍照页面的形态 cameraViewTransform

 14、代理 delegate 需要导入两个代理

   

 方法:

 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info;采集完成之后调用、不区分摄像拍照

 - (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;采集取消的时候调用

 15、(1)把图片保存到相册

 UIImageWriteToSavedPhotosAlbum(finishImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

 (2)保存成功的回调方法

 - (void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{

 NSLog(@"图片保存成功");

 }

16、(1)保存视频到相册

 NSString *path = (NSString *)[info[UIImagePickerControllerMediaURL] path];

 UISaveVideoAtPathToSavedPhotosAlbum(path, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);

 (2)视频保存到相册之后调用

 - (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{

}

 17、(1)JPEG格式图片转换成NSData

 NSData *imageData = UIImageJPEGRepresentation(finishImage, 0.1);

 (2)PNG格式图片转换成NSData

 NSData *imageData1 = UIImagePNGRepresentation(finishImage);

上一篇 下一篇

猜你喜欢

热点阅读