Skip to content

NK-iOS/NKAVPlayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

NKAVPlayer

iOS视频播放总结:记一篇AVPlayer


iOS已经提供了一些视频播放的API,封装性很强,使用上也比较方便,但是自定制UI比较困难,自由度比较低:

  • MPMoviePlayerController
  • AVPictureInPictureController

所以我们自己用AVPlayer实现一些视频播放的定制开发。AVPlayer属于AVFoundation框架,可以播放视频、音频,支持本地、网络视频源,相对来说更加接近底层。

实现视频播放

AVFoundtion 框架中主要使用 AVAsset 类来展示媒体信息,了解几个常用类: 1、AVAsset:AVAsset类专门用于获取多媒体的相关信息,包括获取多媒体的画面、声音等信息,属于一个抽象类,不能直接使用。 2、AVURLAsset:AVAsset的子类,可以根据一个URL路径创建一个包含媒体信息的AVURLAsset对象。 3、AVPlayerItem:一个媒体资源管理对象,管理者视频的一些基本信息和状态,一个AVPlayerItem对应着一个视频资源。

在AVPlayer实现视频播放的开发中,AVPlayerLayer 显示视频,AVPlayerItem 提供视频信息, AVPlayer 管理和调控.

AVPlayer 本身并不能显示视频, 显示视频的是 AVPlayerLayer。 AVPlayerLayer 继承自 CALayer。

视频播放

- (void)viewDidLoad {
[super viewDidLoad];

CGFloat palyerW = [UIScreen mainScreen].bounds.size.width;
NKAVPlayerView *playerView = [[NKAVPlayerView alloc] init];
playerView.frame = CGRectMake(0, 0, palyerW, palyerW / 7 * 4);

[self.view addSubview:playerView];
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"movie" ofType:@"mp4"];
[playerView settingPlayerItemWithUrl:[NSURL fileURLWithPath:moviePath]];
}

这样视频播放就完成,附上运行效果: 视频播放

上线APP:

我的超级文件

其他:

  • 自由开发者交流群:811483008
  • 附上:简书

Releases

No releases published

Packages

No packages published