1.图像选取控制器,三个来源,在iphone上以模态的形式出现,在ipad上以popover形式展示,可选属性allowsEditing,选取图像后可以执行缩放及调整,设置代理UIimagePickerControllerDelegate,会返回一份含有自定义信息的字典info[UIImagePickerControllerEditedImage],UIImagePickerControllerMediaType表示用户所选媒体资源是何类型,资源是否支持isSourceTypeAvailable,资源类型sourceType,isCameraDeviceAvailable检查设备的某个摄像头是否可用,前置后置,isFlashAvailableForCameraDevice闪光灯是否可用,cameraFlashMode设置闪光灯模式,cameraCaptureMode设置拍照还是录像
2.显示图像contentMode,AspectFit宽高比不变,fill填满裁剪,UIImageWriteToSavePhotoAlbum保存到相册
3.录制视频,查询设备所支持的媒体类型NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera ];return [mediaTypes containsObject:(NSString *)KUTTypeMovie],统一类型标识符,定义于MobileCoreServices;录制视频比照片选取多两种设置videoQuality视频质量,nediaTypes = @[(NSString *)kUTTypeMovie],保存视频UISaveVideoAtPathToSavedPhotoAlbum()到媒体库
4.MPMoviePlayerViewController视频播放,创建initWithContentURL:url ;player.moviewplayer.controlStyle 操作方式,展现控制器presentMoviewPlayerViewControllerAnimated:,添加通知MPMoviePlayerPlaybackDidFinishNotification,生成url = info[UIImagePickerControllerMediaURL]
5.组成视频播放器有两个类,一个是可以展示出来的展示控制器MPMoviewPlayerViewController,一个是实际播放的控制器,前者把后者放在自己的一个属性里面player.moviePlayer,真正的工作在播放控制器完成,采用通知机制而不采用委托,没有限制视频的来源,本地url用fileURLWithPath:创建,远程资源以URLWithString:创建,如果视频播放器刚一打开就关闭,请检查URL是否正确
6.编辑视频allowsEditing,不会直接剪辑当前的视频,而是返回包含URL,type,开始和结束点的字典,AV Foundation提供接口处理媒体资源,Core Media描述媒体的属性,根据媒体的URL来新建AV资源URL(AV asset URL)创建导出范围,构建CMTimeRange结构体,通过AVAssetExportSession把数据存回文件系统,只是位于临时文件夹中,设置资源和导出品质
7.Message UI提供编写电子邮件及文本信息,判断是否支持canSendMail,可以通过MFmailComposeViewController发送照片,通过委托回调接收用户操作结果mailcomposeController:didFinishWithResult,setMessageBody定义邮件正文,UIImageJPEGRepresentation()获取图像,