ios视频开发,ios视频直播开发

iOS 音视频开发 - 系统中断音频(Swift语言)

注册 AVAudioSession.interruptionNotification 的通知,可以收到播放打断通知。 系统将此通知发布到主线程。

成都创新互联公司从2013年创立,先为荔波等服务建站,荔波等地企业,进行企业商务咨询服务。为荔波企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

其中userinfo有如下字段:

分began与end,用来表示打断开始与打断结束。

只在打断结束时返回。选项用 shouldResume 来指示:另一个音频会话的中断已结束,应用程序可以恢复其音频会话。

该属性只在打断开始时返回。存在于版本iOS 10.3-14.5。

用于确定这次中断是否由于系统挂起App所致。

获取到的是一个NSNumber表示的Bool。为true表示中断是由于系统挂起,false是被另一音频打断。

该属性只在打断开始时返回。存在于版本iOS 14.5以后,用来代替 AVAudioSessionInterruptionWasSuspendedKey 。

default :因为另一个音频会话被激活,音频中断。(例如后台播着音频,此时播放微信语音)

appWasSuspended :由于APP被系统挂起,音频中断

builtInMicMuted :音频因内置麦克风静音而中断(例如iPad智能关闭套【iPad's Smart Folio】合上)

iOS开发:视频快进、慢进、快退(倍速播放)

快进: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对象;

注册监听和通知

iOS开发之在线视频播放,进度精准拖动

本文讲解的是 iOS 视频播放, 支持本地,在线播放. 进度拖动,精准跳转,获取视频的长度等问题

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视频开发,ios视频直播开发
标题链接:http://ybzwz.com/article/dsscdhi.html