ESAudioPlayer:iOS 的响应式音频播放器
ESAudioPlayer 是使用 RxSwift 为 iOS 提供的响应式音频播放器。它提供了基本的音频管理功能,例如从 URL 播放音频。还有一些更高级的功能,如队列管理、MediaPlayer 传输控制和正在播放中心信息。
⚙️ 特性
- 完全抽象的播放器细节,只公开响应层供使用
- 优化性能以管理长队列
- 基本轨道管理(播放、暂停、继续播放)
- 队列管理(随机、重复、下一首、上一首等...)
- 速度管理
- 向前、向后或跳转到特定的点
- 处理远程控制中心动作(播放、暂停、下一首、上一首、更改播放位置)
- 处理更新正在播放中心
📝 要求
- Swift 版本 5 或更高
- iOS 13 或更高
- 依赖于 RxSwift,因为它用于使播放器成为响应式的
⬇️ 安装
ESAudioPlayer 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中
pod 'ESAudioPlayer'
📱 示例
要运行示例项目,首先克隆仓库,然后在示例目录中运行 pod install
🗝 如何使用 ESAudioPlayer?
- 使用
shared
实例的ESAudioPlayer
,禁止创建新的实例。 - 通过
play(track:)
或play(list:)
(这些方法接收ESPlayerAudioTrack
对象)传递轨道或轨道列表来播放。 - 订阅您感兴趣的更改
state
:返回播放器的当前状态(播放、缓冲、暂停、停止、错误)currentTrack
:返回当前在播放器中的轨道(无论它是播放还是暂停)queue
:返回当前在播放器中的队列currentTime
:返回播放器的当前位置,以分钟和秒表示trackDuration
:返回播放器全长,以分钟和秒表示currentSpeed
:返回当前选择的播放速度isRepeatOn
和isShuffleOn
:返回重复或随机是否开启
👨💻 作者
Mario Mouris,[email protected]
📄 许可证
ESAudioPlayer 在 MIT 许可证下提供。有关更多信息,请参阅 LICENSE 文件。