视频播放AVPlayer的使用
来源:互联网 发布:淘宝拍卖包包是真的吗 编辑:程序博客网 时间:2024/05/17 18:03
在视频播放方面,可以使用MPMoviePlayerController,但是如果需要高度自定义视频播放的时候,就需要使用AVPlayer,AVPlayer属于AVFoundation框架,AVPlayer自己不能播放视频,如果想播放视频,需要创建一个AVPlayerLayer,继承于CALayer, 然后将AVPlayerLayer添加到view的layer属性上。
AVPlayer中涉及到的类有:
(1)AVAsset:是一个抽象类,主要用于获取多媒体信息,不能直接使用。
(2)AVURLAsset:AVAsset的子类,可以根据一个URL路径创建一个包含媒体信息的AVURLAsset对象。
(3)AVPlayerItem:一个媒体资源管理对象,管理者视频的一些基本信息和状态,一个AVPlayerItem对应着一个视频资源。
有两个功能:播放和暂停,对应着AVPlayer的两个方法,pause和play。AVPlayer 不能判断当前视频是否在播放,可以通过视频播放的速度来判断视频的播放状态:输赢rate如果为0表明是停止,为1表明视频正常播放。
1:如果想要获得视频的播放进度:播放网络视频的时候,需要获得视频的加载和缓冲信息,AVPlayer中的属性currentItem表示当前播放的视频对象,属于AVPlayerItem类型的,可以通过KVO来监控currentItem的status 和 loadedTimeRanges属性来获得。
status属性为AVPlayerStatusReadyToPlay说明正在播放,处于这个状态才能获得视频时长等信息
loadedTimeRanges属性改变时可以获得本次缓冲加载的视频范围(起始时间和本次加载时长),可以获得实时的缓冲情况
2:获取播放进度:通过AVPlayer的获得播发进度,- (id)addPeriodicTimeObserverForInterval:(CMTime)interval queue:(dispatch_queue_t)queue usingBlock:(void (^)(CMTime time)),此代理方法会在设定的时间间隔,定时更新播放进度,通过block的参数time获得
3: 获得视频播放结束,播放完成之后会有通知:AVPlayerItemDidPlayToEndTimeNotification,可以监听此通知
AVPlayer虽然播放视频很强大,但是支持的视频编码格式只有:H.264、MPEG-4,扩展名(压缩格式):.mp4、.mov、.m4v、.m2v、.3gp、.3g2等。如果想支持更多的视频编码格式,可以使用使用第三方的框架,常用的视频编码和解码框架有VLC和ffmpeg。
- 视频播放AVPlayer的使用
- 使用AVPlayer播放视频
- AVPlayer视频播放的使用简介
- 播放视频AVPlayer使用详解
- Objective-C AVPlayer播放视频的使用与封装
- iOS - 使用AVPlayer播放音频、视频
- ios 使用AVPlayer自定义视频播放器
- ios 使用AVPlayer自定义视频播放器
- AVPlayer 实现视频播放器的开发
- AVPlayer 播放视频
- AVPlayer视频播放
- AVPlayer播放视频
- AVPlayer进行视频播放
- AVPlayer视频播放
- 视频播放–AVPlayer
- AVPlayer实现视频播放
- 视频播放器AVPlayer
- 视频播放器 AVPlayer
- Tomcat数据源
- opewrt 应用注意
- 线程属性_实时调度
- JavaBeans 部分
- API学习笔记
- 视频播放AVPlayer的使用
- Java类集
- linux服务器更改欢迎界面
- Machine Learning - Neural Networks Examples and Intuitions
- HDU-1166- 敌兵布阵(树状数组 插点问线)
- LogCat工具的tag细节
- java反射
- MT7620的WIFI带机量
- Request 和 Response