MPMoviePlayerControlle播放本地视频
MPMoviePlayerControlle与AVAudioPlayer有点类似,前者播放视频,后者播放音频,不过也有很大不同,MPMoviePlayerController 可以直接通过远程URL初始化,而AVAudioPlayer则不可以。不过大体上用起来感觉差不多。废话少说进入体验。
格式支持:MOV、MP4、M4V、与3GP等格式,还支持多种音频格式。
首先你得引入 MediaPlayer.framework.然后在使用到MPMoviePlayerController 的文件中导入相应的头文件。
一、创建
MPMoviePlayerController 类通过一个NSURL来初始化,这个URL可以使本地的,也可以是远程的。初始化需要通过 initWithContentURL 方法来实现:
MPMoviePlayerController *moviePlayer = [ [ MPMoviePlayerController alloc]initWithContentURL:[NSURL urlWithString:@"http://"] ];//远程
NSString* path =[ NSString stringWithFormat:@"%@/Documents/video.3gp",NSHomeDirectory()];//本地路径 MPMoviePlayerController *moviePlayer = [ [ MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:path]];//本地的
二、属性设置
1.控制器样式
moviePlayer.moviewControlMode = MPMovieControlModeDefault;
moviePlayer.scallingMode = MPMovieScallingModeAspectFit;
moviePlayer.backgroundColor = [UIColor redColor];
三、播放和停止电影
要播放电影请调用play 方法,电影播放控制器会自动将视图切换到电影播放器并开始播放:
[ moviePlayer play ];
[ moviePlayer stop ];
四、通知
你的程序可以配置电影播放器在何时候发送通知,包括结束加载内容、技术播放、改变宽高比等。电影播放器会将事件发送到 Cocoa 的通知中心,你可以对其进行配置,指定将这些事件转发到你的应用程序的一个对象。要接收这些通知,需要使用 NSNotificationCenter 类,为电影播放器添加一个观察者(observer):
NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter]; [ notificationCenter addObserver:self selector:@selector(moviePlayerPreloadFinish:) name:MPMoviePlayerContentPreloadDidFinishNotification object:moviePlayer ];
-(void)moviePlayerPreloadDidFinish:(NSNotification*)notification{ //添加你的处理代码 }
MPMediaPickerController选取本地音
MPMediaPickerController 与 UIImagePickerController 类似,允许用户从音乐库中选取音乐、播客、音频书。
1、创建
MPMediaPickerController *mpc = [[MPMediaPickerControlleralloc]initWithMediaTypes:MPMediaTypeMusic]; mpc.delegate = self;//委托 mpc.prompt =@"Please select a music";//提示文字 mpc.allowsPickingMultipleItems=NO;//是否允许一次选择多个
enum { // audio MPMediaTypeMusic = 1 << 0, MPMediaTypePodcast = 1 << 1, MPMediaTypeAudioBook = 1 << 2, MPMediaTypeAudioITunesU = 1 << 3, // available in iOS 5.0 MPMediaTypeAnyAudio = 0x00ff, // video (available in iOS 5.0) MPMediaTypeMovie = 1 << 8, MPMediaTypeTVShow = 1 << 9, MPMediaTypeVideoPodcast = 1 << 10, MPMediaTypeMusicVideo = 1 << 11, MPMediaTypeVideoITunesU = 1 << 12, MPMediaTypeAnyVideo = 0xff00, MPMediaTypeAny = ~0 }; typedef NSInteger MPMediaType;
- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection{ /*insert your code*/ for ( MPMediaItem* itemin [mediaItemCollection items]) { } [selfdismissModalViewControllerAnimated:YES]; [mediaPicker release]; }
-(void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker{ /*insert your code*/ [selfdismissModalViewControllerAnimated:YES]; [mediaPicker release]; }
[selfpresentModalViewController:mpc animated:YES];
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。