-
UIImagePickerController
- 属性imagePicker指的是UIImagePickerController所属类型
-
图片库
/*
UIImagePickerControllerSourceTypePhotoLibrary, 图片库
UIImagePickerControllerSourceTypeCamera, 相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum 照片
*/
self.imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
//模态弹出imagePicker
[self presentViewController:self.imagePicker animated:YES completion:nil];
-
摄影
self.imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
// 设置媒体模式为movie(电影)
self.imagePicker.mediaTypes = @[(NSString *)kUTTypeMovie];
/* 相机模式为 video(摄影)
UIImagePickerControllerCameraCaptureModePhoto 照相
UIImagePickerControllerCameraCaptureModeVideo 视频
*/
self.imagePicker.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
/* 设置视频的质量
UIImagePickerControllerQualityTypeHigh = 0, 高质量
UIImagePickerControllerQualityTypeMedium = 1,
UIImagePickerControllerQualityTypeLow = 2, 低质量
UIImagePickerControllerQualityType640x480 640*480
UIImagePickerControllerQualityTypeIFrame1280x720 1280*720
UIImagePickerControllerQualityTypeIFrame960x540 960*540
*/
self.imagePicker.videoQuality = UIImagePickerControllerQualityType640x480;
[self presentViewController:self.imagePicker animated:YES completion:nil];
-
照相
self.imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera;
/* 媒体模式
kUTTypeImage、kUTTypeJPEG、kUTTypeJPEG2000、kUTTypeTIFF、kUTTypePICT、kUTTypeGIF、kUTTypePNG、kUTTypeQuickTimeImage、kUTTypeAppleICNS、kUTTypeBMP、
kUTTypeICO、kUTTypeRawImage、kUTTypeScalableVectorGraphics、kUTTypeLivePhoto
*/
self.imagePicker.mediaTypes = @[(NSString *)kUTTypeImage];
// 是否可以编辑,只有一个图片选择小框
self.imagePicker.allowsEditing = YES;
// 让相机呈现的视图进行仿射转换,但照下来的照片没有什么影响
self.imagePicker.cameraViewTransform = CGAffineTransformMakeRotation(M_PI_2);
/* 摄像头部位
UIImagePickerControllerCameraDeviceRear, 后置摄像头(默认)
UIImagePickerControllerCameraDeviceFront 前置摄像头
*/
self.imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
/* 设置闪光灯状态
UIImagePickerControllerCameraFlashModeOff = -1, 照相时,关闭闪光灯
UIImagePickerControllerCameraFlashModeAuto = 0, 照相时,闪光灯自动调节
UIImagePickerControllerCameraFlashModeOn = 1 照相时,开启闪光灯
*/
self.imagePicker.cameraFlashMode = UIImagePickerControllerCameraFlashModeAuto;
[self presentViewController:self.imagePicker animated:YES completion:nil];
-
UIImagePickerControllerDelegate委托
-
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info;
当用户选择图片后会调用此委托方法
/* info 是一个字典,键分别指示的意思
UIImagePickerControllerMediaType 文件类型
UIImagePickerControllerOriginalImage 图片数据(UIImage *类型)
UIImagePickerControllerReferenceURL 文件地址
*/
-
- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
当用户点击cancel时调用
此处可以移除自身模态:[self dismissViewControllerAnimated:YES completion:nil];
-
-
音频
-
系统声音(音效)
-
播放系统声音,无震动
// 播放系统声音
AudioServicesPlaySystemSound(1000);
SystemSounID范围:1000-1351,4095
-
播放系统声音,可以为系统原有,也可为自己创建的系统声音,有震动
// 播放声音(有震动)
AudioServicesPlayAlertSound(soundID);
-
创建系统声音
NSString *path = [[NSBundle mainBundle] pathForResource:@"PHONE3" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:path];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((__bridge CFURLRef _Nonnull)(url), &soundID);
-
-
播放本地音频—AVAudioPlayer
-
常用属性
- volume:声音大小
-
常用方法
- prepareToPlay:准备播放
- play:播放音频
- pause:暂停播放
-
-
播放远程音频—AVPlayer、AVPlayerItem
-
AVPlayer
-
常用属性
-
status:播放的状态
/*
AVPlayerStatusUnknown, 未知,还未加载完成
AVPlayerStatusReadyToPlay, 准备播放
AVPlayerStatusFailed 加载失败,无网络
*/
- AvplayerItem *currentItem:当前播放元素
-
-
常用方法
- play
- pause
-
- (CMTime) currentTime; 获取当前时间
typedef struct{
CMTimeValue value; 常用
CMTimeScale timeScale; 常用
CMTimeFlags flags;
CMTimeEpoch epoch;
}CMTime;
获取播放元素当前时间:
float time = [self.avPlayer currentTime].value/[self.avPlayer currentTime]. timeScale;
-
-
AVPlayerItem
-
常用属性
-
CMTime duration:播放元素的总时长
得到总时长:
float duration = self.playItem.duration.value / self.playerItem.duration.timeScale;
-
-
常用方法
- - (CMTime)currentTime; 播放元素的当前时间
-
-
-
-
视频
- MPMoviePlayerController iOS7.0 ~ iOS9.0
- MPMoviePlayerViewController iOS7.0 ~ iOS9.0
- AVPlayerViewController
- AVPlayerLayer(内含AVPlayer属性) iOS8.0+
iOS学习之路09 - 多媒体(音频、视频、相机、相册)
最新推荐文章于 2019-08-28 19:04:02 发布