iOS学习之路09
来源:互联网 发布:淘宝多少级能上直通车 编辑:程序博客网 时间:2024/05/29 16:35
- 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
- ios学习之路
- IOS学习之路
- IOS菜鸟学习之路
- IOS开发学习之路
- iOS学习之路--多线程
- iOS学习之路01
- iOS学习之路02
- iOS学习之路03
- iOS学习之路04
- iOS学习之路05
- iOS学习之路06
- iOS学习之路07
- iOS学习之路08
- iOS学习之路10
- IOS学习之路之 音效处理
- iOS学习之路 XML处理
- iOS学习之路 XML处理
- JDK不配置环境变量也可以使用的方法(偏门)
- 99-IPv4 地址
- 应用架构演进
- 源文件名长度大于文件系统支持的长度。请尝试将其移动到具有较短路径名称的位置,或者在执行此操作前尝试将其重命名为较短的名称--解决办法
- python中的字典
- iOS学习之路09
- 模拟退火学习笔记
- 《近匠》 | 探索一站式智能硬件开发的最佳解决方案
- binder学习笔记
- vue.js的学习
- addbinary
- 个人测试
- 3d全景图
- Unity —— 针对DynamicBone插件的迭代来实现布料模拟