和視頻播放有關的目錄如下:
FFMpeg視頻MetaData函數--av_dump_format()
AVPlayer播放器
FFMpeg 播放視頻
直播秒開
由于MPMoviePlayerController的高度封裝,導致定制界面基本不可能實現。iOS9.0之后AVFoundation框架中提供了AVPlayerViewController來替代MP,使用也是非常簡單。
使用時導入2個頭文件:
#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
設置下資源路徑Url和是否顯示控制條就能快速的創建一個播放器了。
- (void)viewDidLoad
{
[super viewDidLoad];
// 設置資源路徑
NSString *path = [[NSBundle mainBundle] pathForResource:@"1" ofType:@"mp4"];
NSURL *url = [NSURL fileURLWithPath:path];
AVPlayer *avPlayer= [AVPlayer playerWithURL:url];
// player的控制器對象
AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init];
// 控制器的player播放器
playerViewController.player = avPlayer;
// 試圖的填充模式
playerViewController.videoGravity = AVLayerVideoGravityResizeAspect;
// 是否顯示播放控制條
playerViewController.showsPlaybackControls = YES;
// 設置顯示的Frame
playerViewController.view.frame = self.view.bounds;
// 將播放器控制器添加到當前頁面控制器中
[self addChildViewController:_playerViewController];
// view一定要添加,否則將不顯示
[self.view addSubview:playerViewController.view];
// 播放
[playerViewController.player play];
}
效果如圖所示
AVPlayer.png
AVPlayerViewController使用起來非常方便,但依然存在以下兩個問題: