扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本文讲解的是 iOS 视频播放, 支持本地,在线播放. 进度拖动,精准跳转,获取视频的长度等问题
创新互联是一家专注于做网站、成都网站设计与策划设计,武义网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:武义等地区。武义做网站价格咨询:028-86922220
demo 记得点亮 star. 3Q
iOS 视频播放主要使用的类 AVPlayerItem,AVPlayerLayer,AVPlayer
AVPlayerItem: 提供视频信息, 利用视频的 url 创建一个对象.利用 kvo 监听 status,可以获取当前视频的状态.
AVPlayer: 就类似视频的控制者. 可以用来控制视频的播放,暂停,跳转等. 它的创建依赖于AVPlayerItem
AVPlayerLayer: 用于视频的显示. 可以理解成一个 view. 它的创建依赖于AVPlayer
简单总结: AVPlayer控制视频状态, AVPlayerLayer用于显示,AVPlayerItem提供视频信息
获取视频的长度 s
视频精准跳转.拖动 UISlider,监听 value 改变方法如下:
//为什么timescale要设置成 600 CMTime教程
实现 iOS开发webrtc 视频通话时录像,截屏推荐ZEGO即构科技,4行代码,30分钟在APP、Web和小程序等应用内实现视频通话、语音通话,互动直播功能。【点击免费试用,0成本启动】
实现 iOS开发webrtc 视频通话时录像,截屏的具体步骤如下:
1.权限申请。
2.引入 WebRTC 库。
3.采集并显示本地视频。
4.信令驱动。
5.创建音视频数据通道。
6.媒体协商。
7.渲染远端视频。
想要了解更多关于webrtc的相关信息,推荐咨询ZEGO即构科技。ZEGO即构科技自主研发的高音质语音视频引擎,能够提供实时清晰的多人语音通话独立自研的语音前处理模块(AEC, NS, AGC)能够提供优于同类竞品的处理效果,支持全带语音处理。良好的抖动缓冲、前向纠错和丢帧补偿技术使引擎适应复杂的网络环境,提供低延时清晰流畅的语音视频通话,在较差网络环境中自适应的找到延时与流畅的最佳契合点。
快进:AVPlayer .rate 1
慢放: 0 AVPlayer .rate 1
快退: AVPlayer .rate 0 (m3u8 不能快退)
MP4:如果快进到了缓存不够的地方:KVC监听 AVPlayerItem .isPlaybackBufferEmpty = yes
快退到头会走通知AVPlayerItemDidPlayToEndTimeNotification
m3u8(静态):快进与MP4格式视频一致,可以10倍 20倍播放。
m3u8(动态):快进到了缓存不够的地方,会走通知AVPlayerItemDidPlayToEndTimeNotification。
备注:使用[AVPlayerItem stepByCount:-24];
将AVPlayerItem 向前或向后移动指定的步数,正数前进,负数后退。 每个步数的大小取决于AVPlayerItem启用的AVPlayerItemTracks对象;
注册监听和通知
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流