HSAudioPlayer是一个小巧的音频播放器,负责AVPlayer的设置和使用。它使用一个内部队列以行自动顺序播放多个项目。所有AVPlayer支持的路由项都可以使用(MPMediaItems和远程URL)。
嵌入框架需要iOS 8或OS X Mavericks(10.9)的最低部署目标。
有两种基本用法:
HSAudioPlayer.sharedInstance.setup()
let audioPlayer = HSAudioPlayer.audioPlayer()
在两种用法情况下,您在使用之前需要setup()
播放器实例。
HSAudioPlayer.sharedInstance.setup()
这将设置AVAudioSession
播放及激活状态,并初始化远程控制事件以及当下播放信息中心配置。如果您想要修改基本设置,您可以在调用setup
期间或之后进行。
HSAudioPlayer.sharedInstance.setup(useNowPlayingInfoCenter: false, useRemoteControlEvents: false)
HSAudioPlayer.sharedInstance.setup()
HSAudioPlayer.sharedInstance.playingTimeRefreshRate = 1.0
如果您想要接收远程控制事件,您只需将事件从应用程序代理传递到音频播放器实例即可。
override func remoteControlReceivedWithEvent(event: UIEvent?) {
HSAudioPlayer.sharedInstance.remoteControlReceivedWithEvent(event)
}
HSAudioPlayer可以播放本地的MPMediaItem
和从远程URL流的项。您可以传递一个或多个项到播放器。
以下行会将音频播放器的当前队列替换为选定的项。如果播放了该项,播放将自动停止。
HSAudioPlayer.sharedInstance.play(url: self.trackUrl)
如果您想播放多个项,您可以传递一个数组和起始位置。播放器将用给定的数组替换当前队列,并直接跳转到给定位置的项。队列允许用户回退到比起始位置索引低的项。
let songs = (MPMediaQuery.songsQuery().items ?? [])
HSAudioPlayer.sharedInstance.play(mediaItems: songs, startPosition: 5)
tschob, Hans Seiffert
HSAudioPlayer可在MIT许可下使用。