RxAudioVisual

RxAudioVisual是围绕AVFoundation的RxSwift包装。
要求
目标 |
版本 |
iOS |
=> 10.0 |
Swift |
~> 4.0 |
RxSwift / RxCocoa |
~> 4.0 |
安装
RxAudioVisual可以通过CocoaPods获取。
CocoaPods
入门
AV异步键值加载
asset.rx.playable.subscribe(
onSuccess: { playable in
// Do something nice.
}
)
键值观察(KVO)
player.rx.status.filter { $0 == .readyToPlay }.subscribe(onNext: { _ in
player.play()
}).addDisposableTo(self.disposeBag)
playerLayer.rx.readyForDisplay.filter { $0 == true }.subscribe(onNext: { [weak self] _ in
playerLayer.frame = self?.videoView.bounds
self?.videoView.layer.addSublayer(playerLayer)
}).addDisposableTo(self.disposeBag)
通知
item.rx.didPlayToEnd.subscribe(onNext: { _ in
player.seek(to: kCMTimeZero)
player.play()
}).addDisposableTo(self.disposeBag)
概览
AVAsset
属性 |
可观察类型 |
元素 |
时长 |
单一 |
CMTime |
首选速率 |
单一 |
浮点数 |
首选音量 |
单一 |
浮点数 |
首选变换 |
单一 |
CGAffineTransform |
轨道 |
单一 |
[AVAssetTrack] |
可播放性 |
单一 |
布尔值 |
可导出 |
单一 |
布尔值 |
可读性 |
单一 |
布尔值 |
可组合 |
单一 |
布尔值 |
与照片库兼容 |
单一 |
布尔值 |
与AirPlay视频兼容 |
单一 |
布尔值 |
AVAssetTrack
属性 |
可观察类型 |
元素 |
可播放性 |
单一 |
布尔值 |
启用 |
单一 |
布尔值 |
自包容 |
单一 |
布尔值 |
总样本数据长度 |
单一 |
整型64 |
时间范围 |
单一 |
CM时间范围 |
自然时间比例 |
单一 |
CM时间比例 |
预估数据速率 |
单一 |
浮点数 |
自然大小 |
单一 |
CGSize |
首选变换 |
单一 |
CGAffineTransform |
首选音量 |
单一 |
浮点数 |
名义帧率 |
单一 |
浮点数 |
AVPlayer
属性 |
可观察类型 |
元素 |
状态 |
观察者 |
AVPlayerStatus |
错误 |
观察者 |
NSError? |
时间控制状态 |
观察者 |
AVPlayerTimeControlStatus |
速率 |
观察者 |
浮点数 |
当前内容 |
观察者 |
AVPlayerItem? |
遍历到的项目操作 |
观察者 |
AVPlayer遍历到的项目操作 |
音量 |
观察者 |
浮点数 |
静音 |
观察者 |
布尔值 |
启用字幕显示 |
观察者 |
布尔值 |
允许外部播放 |
观察者 |
布尔值 |
外部播放激活 |
观察者 |
布尔值 |
激活时使用外部播放功能 |
观察者 |
布尔值 |
AVPlayerItem
属性 |
可观察类型 |
元素 |
资产 |
观察者 |
AVAsset? |
时长 |
观察者 |
CMTime |
错误 |
观察者 |
NSError? |
已加载时间范围 |
观察者 |
[NSValue] |
显示大小 |
观察者 |
CMTime |
状态 |
观察者 |
AVPlayerItemStatus |
时间基 |
观察者 |
CMTimebase? |
轨道 |
观察者 |
[AVPlayerItemTrack] |
可搜索时间范围 |
观察者 |
[NSValue] |
播放可能维持 |
观察者 |
布尔值 |
播放缓冲为空 |
观察者 |
布尔值 |
播放缓冲已满 |
观察者 |
布尔值 |
已播放到结束 |
观察者 |
通知 |
时间跳跃 |
观察者 |
通知 |
无法播放到结束时间 |
观察者 |
通知 |
播放停滞 |
观察者 |
通知 |
新的访问日志条目 |
观察者 |
通知 |
新的错误日志条目 |
观察者 |
通知 |
AVPlayerLayer
属性 |
可观察类型 |
元素 |
播放器 |
观察者 |
AVPlayer? |
准备显示 |
观察者 |
布尔值 |
视频矩形 |
观察者 |
CGRect |
作者
keita.oouchi, [email protected]
许可协议
RxAudioVisual遵循MIT许可协议。有关更多信息,请参阅LICENSE文件。