RxAudioVisual 1.2.0

RxAudioVisual 1.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2018年4月
SPM支持SPM

Keita Oouchi维护。



 
依赖项
RxSwift~> 4.0
RxCocoa~> 4.0
 

  • 作者
  • keitaoouchi

RxAudioVisual

Build Status Swift 4.0 Carthage compatible Version License Platform

RxAudioVisual是围绕AVFoundation的RxSwift包装。

要求

目标 版本
iOS => 10.0
Swift ~> 4.0
RxSwift / RxCocoa ~> 4.0

安装

RxAudioVisual可以通过CocoaPods获取。

CocoaPods

pod "RxAudioVisual"

入门

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文件。