美文网首页iOS直播原理及实现(转)
(AVKit)视频播放新版本使用的头文件—— AVPlayerV

(AVKit)视频播放新版本使用的头文件—— AVPlayerV

作者: helinyu | 来源:发表于2016-10-26 16:06 被阅读323次

avkit的内容是关于基本的视频和图片播放;(还有就是view的自定义)


两个控制器

(iOS10 之后的播放视频控制器)AVPlayerViewController (AVKit)新的视频的播放器;

例子项目链接:
https://github.com/helinyu/test_AVKit

很可能没有获取到视频

属性:
@property (nonatomic, strong, nullable) AVPlayer *player;
播放的player
@property (nonatomic) BOOL showsPlaybackControls;
//显示所有的重复播放的控件

@property (nonatomic, copy) NSString *videoGravity; //视频重力
AVLayerVideoGravityResizeAspect、 AVLayerVideoGravityResizeAspectFill 、 AVLayerVideoGravityResize、AVLayerVideoGravityResizeAspect is default. <AVFoundation/AVAnimation.h> 好像这个头文件在watch上面才会有的;

@property (nonatomic, readonly, getter = isReadyForDisplay) BOOL readyForDisplay;
//准备显示

@property (nonatomic, readonly) CGRect videoBounds;
//视频的大小

@property (nonatomic, readonly, nullable) UIView *contentOverlayView;
//内容覆盖视频

@property (nonatomic) BOOL allowsPictureInPicturePlayback NS_AVAILABLE_IOS(9_0);
//是否允许PIP

@property (nonatomic) BOOL updatesNowPlayingInfoCenter NS_AVAILABLE_IOS(10_0);
//更新现在播放显示的信息中心

@property (nonatomic, weak, nullable) id <AVPlayerViewControllerDelegate> delegate NS_AVAILABLE_IOS(9_0);
//代理

requiresLinearPlayback
是否允许跳过媒体内容

contentProposalViewController
内容的目标视图控制器

文档里面才有显示的属性
文档里面才有显示的属性

几个对应的pip对应的代理方法
AVPlayerViewControllerDelegate 代理类(这几个代理方法)

  • (void)playerViewControllerWillStartPictureInPicture:(AVPlayerViewController *)playerViewController;
  • (void)playerViewControllerDidStartPictureInPicture:(AVPlayerViewController *)playerViewController;
  • (void)playerViewController:(AVPlayerViewController *)playerViewController failedToStartPictureInPictureWithError:(NSError *)error;
  • (void)playerViewControllerWillStopPictureInPicture:(AVPlayerViewController *)playerViewController;
  • (void)playerViewControllerDidStopPictureInPicture:(AVPlayerViewController *)playerViewController;
  • (BOOL)playerViewControllerShouldAutomaticallyDismissAtPictureInPictureStart:(AVPlayerViewController *)playerViewController;
  • (void)playerViewController:(AVPlayerViewController *)playerViewController restoreUserInterfaceForPictureInPictureStopWithCompletionHandler:(void (^)(BOOL restored))completionHandler;

PS概览:
AVPlayerViewController 显示视频是通过里面的一个vaplayer的属性(该属性带有系统提供的一个回放的控件)
重点: 这个类是不可以进行继承和重写里面的方法;

1、支持airplay
2、(PIP【picture in picture 】)ios 9 之后的内容;(应该就是一个缩小化的技术内容),视频的悬浮显示;
http://www.jcodecraeer.com/IOS/2015/0811/3289.html (PIP参考链接)

画中画的效果:
1、 AVPlayerViewController 这个控制器就已经实现了画中画的效果;
2、使用WKWebkit也是有PIP效果的;
3、自定义,通过 AVPictureInPictureController 和 AVPlayerLayer 一起使用;

进制画中画的操作:(手机上设置)
设置 > 通用 > 多任务 > 保持视频层里设置

可以直接在storyBoard上拖拽出来,参考链接:
http://www.jianshu.com/p/41b3ecf3ab0d

相关文章

  • (AVKit)视频播放新版本使用的头文件—— AVPlayerV

    avkit的内容是关于基本的视频和图片播放;(还有就是view的自定义) (iOS10 之后的播放视频控制器)AV...

  • NSURL简单用法

    前言 今天在使用AVKit进行视频播放的时候发现无法播放本地视频,而只能播放网络视频,在仔细查看了一遍代码后忽然想...

  • iOS - 视频播放

    iOS视频播放 MediaPlayer AVKit/AVFoudation ffmpeg WebView/WebS...

  • Swift-AVPlayer播放器

    功能最全、自定义最高的播放器,也是使用最多得。使用起来较为复杂些。需导入AVKit控件(import AVKit)...

  • 视频直播的简单实现

    最近要做路况大数据,播放摄像头的视频直播,学了两个简单的demo import 1....

  • IOS 视频播放

    1一般的播放需求: 如果只是一般的视频播放的话,并不需要暂停或者继续播放什么的控制。可以使用AVKit框架。这个框...

  • AVKit框架

    AVKit框架基于AVFoundation框架,提供了一个用于播放视频内容的高级界面,创建用于媒体播放的视图级服务...

  • AVKit用法

    AVKit框架基于AVFoundation框架,提供了一个用于播放视频内容的高级界面,创建用于媒体播放的视图级服务...

  • iOS之AVKit入坑手册

    最近项目需要集成视频录制及播放功能, 趁这个机会翻阅了以下AVKit相关的资料

  • iOS开发中利用AVFoundation框架进行视频的录制和播放

    利用AVFoundation进行视频的录制和播放需要导入三个系统库: 1.AVFoundation 2.AVKit...

网友评论

    本文标题:(AVKit)视频播放新版本使用的头文件—— AVPlayerV

    本文链接:https://www.haomeiwen.com/subject/itaduttx.html