2、视频 MPMoviePlayerViewController
介绍:MPMoviePlayerViewController是视频播放器的控制器(能够播放mp4、avi、mov格式的视频,支持本地和远程视频的播放)
1)#import<MediaPlayer/MediaPlayer.h>
此framework中带有视频播放器
2) 创建的方法
_playController=[[MPMoviePlayerViewControlleralloc]initWithContentURL:url];
3) 设置资源类型
_playController.moviePlayer.movieSourceType
视频资源分为普通的文件资源,还有流媒体格式(.m3u8)的视频资源,moviePlayer属性为视频播放器,指定播放的资源的类型
4) 要用模态化的方式呈现
5)[_playController.moviePlayerplay];
注意:在用的时候,通过点击done按钮后,销毁_playController
步骤:1)[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(playBack)name:MPMoviePlayerPlaybackDidFinishNotificationobject:nil];
在通知中心注册self为MPMoviePlayerPlaybackDidFinishNotification广播的观察者,一旦有其他对象发送这条广播,self就能接收到并触发playBack方法
点击done按钮->视频播放器会自动通过通知中心发送MPMoviePlayerPlaybackDidFinishNotification这条广播
2)实现playBack方法
[[NSNotificationCenterdefaultCenter]removeObserver:selfname:MPMoviePlayerPlaybackDidFinishNotificationobject:nil];
在通知中心移除self对MPMoviePlayerPlaybackDidFinishNotification广播的观察(不要忘记)
//停掉播放器
[_playController.moviePlayerstop];
//销毁playController
_playController =nil;
3、音频 AVAudioPlayer
介绍:AVAudioPlayer是音频播放器
1)#import<AVFoundation/AVFoundation.h>
带有音频播放器的framework
2)_audioPlayer = [[AVAudioPlayeralloc] initWithContentsOfURL:urlerror:nil];
本地的资源路径生成url用fileURLWithPath
3)_audioPlayer.delegate
设置代理
4)[_audioPlayerprepareToPlay];
对音频资源进行预加载
5)[_audioPlayerplay];
播放音频
6)[_audioPlayerstop];
停止播放音频
代理方法
1)- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;
当成功播放完成一首歌后,调用此方法
4、相机和相册 UIImagePickerController
介绍:UIImagePickerController用来获取拍照和相册库资源
1)UIImagePickerController *picker = [[UIImagePickerControlleralloc] init];
创建
2)@property(nonatomic) UIImagePickerControllerSourceType sourceType;
通过UIImagePickerController来获取拍照和相册库资源
UIImagePickerControllerSourceTypePhotoLibrary,
相册
UIImagePickerControllerSourceTypeCamera,
相机
UIImagePickerControllerSourceTypeSavedPhotosAlbum
图册
3)@property(nonatomic,assign) id <UINavigationControllerDelegate,UIImagePickerControllerDelegate> delegate
4)@property(nonatomic)BOOL allowsEditing
是否允许对图片、视频资源进行后续处理
5)通过模态化的方式呈现到程序中
代理方法
1)+ (BOOL)isSourceTypeAvailable:(UIImagePickerControllerSourceType)sourceType;
用来判断是否可以调用相机或者相册,sourceType是下面的UIImagePickerControllerSourceType
2)- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker;
点击picker上的cancel按钮时,触发的方法,里面picker需要dismiss
3)- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
点击choose按钮触发的方法,info带有选中资源的信息
1、NSString *mediaType = [infoobjectForKey:UIImagePickerControllerMediaType];
判断选中的资源的类型
[mediaType isEqualToString:(NSString *)kUTTypeImage]
注意需要#import<MobileCoreServices/MobileCoreServices.h>
//此framework中带有系统预置的多媒体常量参数
2、UIImage *image = [infoobjectForKey:UIImagePickerControllerEditedImage];
通过字典获取选中的图片