AudioPlayerManager 1.2.3

AudioPlayerManager 1.2.3

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最新版本2017年3月
SwiftSwift 版本3.0
SPM支持 SPM

维护者 Hans Seiffert



  • Hans Seiffert

AudioPlayerManager

功能

AudioPlayerManager 是一个小型的音频播放器,它负责设置和使用 AVPlayer。它使用内部队列自动一行播放多个项目。所有 AVPlayer 支持基于路径的项目都可以使用(MPMediaItems 和远程 URL)。

需求

  • iOS 8+
  • Xcode 8+

安装

内嵌框架需要 iOS 8 或 OS X Mavericks(10.9)或更高版本的最低部署目标。

用法

有两种基本用法

  • 单例播放器,一次播放一个项目
AudioPlayerManager.shared.setup()
  • 多个播放器实例,可以同时使用
let audioPlayer = AudioPlayerManager.audioPlayer()

设置

您需要在使用之前对播放器实例进行 setup()

AudioPlayerManager.shared.setup()

这将为 AVAudioSession 播放和激活状态设置以及初始化远程控制事件加上正在播放的信息中心配置。如果您想修改基本设置,可以在调用 setup 后进行。

AudioPlayerManager.shared.setup()
AudioPlayerManager.shared.playingTimeRefreshRate = 1.0

如果您想接收远程控制事件,只需将事件从应用程序代理传递到音频播放器实例即可。

override func remoteControlReceived(with event: UIEvent?) {
    AudioPlayerManager.shared.remoteControlReceivedWithEvent(event)
}

播放

AudioPlayerManager 可以播放本地的 MPMediaItem 和从远程 URL 流的项目。您可以向播放器传递一个或多个项目。

以下行将用所选项目替换音频播放器的当前队列。如果项目已被播放,播放将自动停止。

AudioPlayerManager.shared.play(url: self.trackUrl)

如果您想播放多个项目,可以传递一个数组和一个起始索引。音频播放器将用给定的数组替换当前队列,并立即跳转到给定索引的项目。队列允许用户重放至索引小于起始索引的项目。

let songs = (MPMediaQuery.songsQuery().items ?? [])
AudioPlayerManager.shared.play(mediaItems: songs, at: 5)

作者

tschob, Hans Seiffert

许可证

AudioPlayerManager 以 MIT 许可证提供。