KDEAudioPlayer 1.1.0

KDEAudioPlayer 1.1.0

测试已经测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2017年5月
SwiftSwift 版本3.0
SPM支持 SPM

Kevin Delannoy 维护。



  • Kevin Delannoy

AudioPlayer

AudioPlayer 是 AVPlayer 的包装器。它还提供了以下酷炫功能:

  • 根据中断次数(缓冲)和延迟时间进行质量控制
  • 播放器失败时重试
  • 连接处理
  • 音频项目排队
  • 播放器模式(重复,重复全部,随机)
  • MPNowPlayingInfoCenter
  • 高度定制

安装

  • CocoaPods: pod 'KDEAudioPlayer'
  • Carthage: github "delannoyk/AudioPlayer"

使用方法

基础

let delegate: AudioPlayerDelegate = ...

let player = AudioPlayer()
player.delegate = delegate
let item = AudioItem(mediumQualitySoundURL: track.streamURL)
player.playItem(item)

委托

为了提醒状态变化或其他事件,AudioPlayer 使用委托。

状态

当 AudioPlayer 的状态发生变化时,将调用以下方法:

func audioPlayer(audioPlayer: AudioPlayer, didChangeStateFrom from: AudioPlayerState, toState to: AudioPlayerState)

时长 & 进度

当 AudioPlayer 的当前项找到其内容的时长时

func audioPlayer(audioPlayer: AudioPlayer, didFindDuration duration: NSTimeInterval, forItem item: AudioItem)

此方法会定期调用以更新进度通知。

func audioPlayer(audioPlayer: AudioPlayer, didUpdateProgressionToTime time: NSTimeInterval, percentageRead: Float)

percentageRead 是一个介于 0 & 100 之间的 Float 值,这样您就可以轻松地更新 UISlider 等。

队列

func audioPlayer(audioPlayer: AudioPlayer, willStartPlayingItem item: AudioItem)

控制中心/锁屏

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    application.beginReceivingRemoteControlEvents()
}

//Then in your UIResponder (or your AppDelegate if you will)
override func remoteControlReceivedWithEvent(event: UIEvent?) {
    if let event = event {
        yourPlayer.remoteControlReceivedWithEvent(event)
    }
}

贡献

  1. 树枝提交!
  2. 创建您的功能分支: git checkout -b my-new-feature
  3. 提交您的更改: git commit -am '添加一些功能'
  4. 将分支推送到分支: git push origin my-new-feature
  5. 提交拉取请求 :D

许可证

MIT 许可证(MIT)

版权所有 © 2015 Kevin Delannoy

在此特此授予任何人获得本软件及其相关文档文件(以下简称“软件”)的副本的权利,免收费用使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许获得软件的人根据以下条件执行上述操作。

上述版权声明和本许可声明应包含在软件的所有副本或主要部分。

软件按“原样”提供,不提供任何形式的明确或暗示保证,包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下,作者或版权所有者不对由于合同、侵权或其他造成、源自或与软件及其使用或其他操作有关的任何索赔、损害或其他法律责任负责。