iOS基础 - 多媒体

1、播放视频

iOS提供了叫作MPMoviePlayerControllerMPMoviePlayerViewController的两个类,能够用来轻松播放视频app

YouTobe就是用MPMoviePlayerController实现的框架

MPMoviePlayerViewController只能全屏播放视频ide

上述两个类都定义在了MediaPlayer框架中测试

2、MPMoviePlayerController支持的格式

MPMoviePlayerController继承自NSObject,它内部有个view用来展现视频内容,添加其余控制器的view上面便可显示atom

MPMoviePlayerController能够播放的视频格式有如下两种:url

H.264spa

MPEG-4 Part 2 video视频

支持的文件拓展名为:avi,mkv,mov,m4v,mp4server

能够到苹果官网:http://support.apple.com/kb/HT1425下载一些用来测试的视频文件,文件都比较小继承

3、MPMoviePlayerController-01-加载资源

// 加载视频资源

NSString *urlString = [[NSBundle mainBundle] pathForResource:@"sample_iTunes" ofType:@"mov"];

NSURL *url = [NSURL fileURLWithPath:urlString];

// 建立播放器

_player = [[MPMoviePlayerController alloc] initWithContentURL:url];

4、MPMoviePlayerController-02-显示

// 设置尺寸

_player.view.frame = self.view.bounds;

_player.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

// 添加到控制器的view

[self.view addSubview:_player.view];

// 播放

[_player play];

5、MPMoviePlayerController-03-添加通知监听

// 监听播放状态的改变

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoStateChange) name:MPMoviePlayerPlaybackStateDidChangeNotification object:_player];

// 监听播放器结束全屏

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(exitFullscreen) name:MPMoviePlayerDidExitFullscreenNotification object:_player];

6、MPMoviePlayerController其余属性

是否要自动播放

@property(nonatomic) BOOL shouldAutoplay;

全屏显示

@property(nonatomic, getter=isFullscreen) BOOL fullscreen;

- (void)setFullscreen:(BOOL)fullscreen animated:(BOOL)animated;

截取视频中的图片

- (void)requestThumbnailImagesAtTimes:(NSArray *)playbackTimes timeOption:(MPMovieTimeOption)option;

7、MPMoviePlayerViewController

MPMoviePlayerViewController继承自UIViewController,它内部封装了一个MPMoviePlayerController

MPMoviePlayerViewController只能全屏播放

简单使用:

MPMoviePlayerViewController *play = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

相关文章
相关标签/搜索