IOS 视频播放

1一般的播放需求: 如果只是一般的视频播放的话,并不需要暂停或者继续播放什么的控制。可以使用AVKit框架。这个框架里面只有一个类,然后一个代理方法。AVPlayerViewControllerClass,和AVPlayerViewControllerDelegate Protocol 。下面是使用方法以及播放效果

#pragma mark视频

- (void)playMediawithSuperView:(UIView*)superView

{

//播放视频

NSString*path =[[NSBundlemainBundle]pathForResource:@"startappvideo"ofType:@"mp4"];

NSURL*url = [NSURLfileURLWithPath:path];

_moviePlayerController= [[AVPlayerViewControlleralloc]init];

_moviePlayerController.player=[[AVPlayeralloc]initWithURL:url];

_moviePlayerController.view.frame= [superViewbounds];

[superViewaddSubview:_moviePlayerController.view];

_moviePlayerController.showsPlaybackControls=NO;//不会显示播放时间播放开始按钮什么的

_moviePlayerController.player.actionAtItemEnd=AVPlayerActionAtItemEndNone;

[_moviePlayerController.playerplay];

}

效果图如下

2 在iOS中播放视频可以使用MediaPlayer.framework种的MPMoviePlayerController类来完成,它支持本地视频和网络视频播放。这个类实现了MPMediaPlayback协议,因此具备一般的播放器控制功能,例如播放、暂停、停止等。但是MPMediaPlayerController自身并不是一个完整的视图控制器,如果要在UI中展示视频需要将view属性添加到界面中。这个内部有一个MPMoviePlayerController的视图控制器就是MPMoviePlayerViewController,它继承于UIViewController。MPMoviePlayerViewController内部多了一个moviePlayer属性和一个带有url的初始化方法,同时它内部实现了一些作为模态视图展示所特有的功能,例如默认是全屏模式展示、弹出后自动播放、作为模态窗口展示时如果点击“Done”按钮会自动退出模态窗口等。

NSString *path = [[NSBundle mainBundle]pathForResource:@"startappvideo" ofType:@"mp4"];

NSURL *url = [NSURL fileURLWithPath:path];

moviePlayerController = [[MPMoviePlayerController alloc]init];

moviePlayerController.contentURL = url;

moviePlayerController.fullscreen=YES;

moviePlayerController.controlStyle=MPMovieControlStyleFullscreen;

moviePlayerController.view.frame = self.view.bounds;

[self.view addSubview:moviePlayerController.view];

[moviePlayerController play];

MPMoviePlayerController足够强大,几乎不用写几行代码就能完成一个播放器,但是正是由于它的高度封装使得要自定义这个播放器变得很复杂,甚至是不可能完成。例如有些时候需要自定义播放器的样式,那么如果要使用MPMoviePlayerController就不合适了,如果要对视频有自由的控制则可以使用AVPlayer。AVPlayer存在于AVFoundation中,它更加接近于底层,所以灵活性也更强。

你可能感兴趣的:(IOS 视频播放)