SwiftAudioKit

Swift Package Manager Platform iOS | tvOS | macOS | watchOS Latest Version

SwiftAudioKit 是一个围绕 AVPlayer 构建的强大且功能丰富的封装器,旨在简化 iOS、tvOS、macOS 和 watchOS 上的音频播放。

特性

安装

Xcode

SwiftAudioKit 只能通过 Swift Package Manager (SPM) 获取。 要将其集成到您的项目中,请按照以下步骤操作

  1. 在 Xcode 中打开您的项目。
  2. 转到 文件 > Add Packages...
  3. 在搜索字段中输入以下 URL:https://github.com/diokaratzas/swift-audio-kit
  4. 选择要安装的版本,然后单击 Add Package

或者 Swift Package

要将 SwiftAudioKit 与您的软件包一起使用,首先将其添加为依赖项

let package = Package(
    // name, platforms, products, etc.
    dependencies: [
        // other dependencies
        .package(url: "https://github.com/diokaratzas/swift-audio-kit", from: "1.0.0"),
    ],
    targets: [
        // targets
    ]
)

用法

请参阅软件包文档 以获取更详细的用法说明。

基本用法

这是一个快速入门 SwiftAudioKit 的示例

let delegate: AudioPlayerDelegate = ...

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

委托方法

SwiftAudioKit 使用委托来通知状态更改和其他事件。

状态变化

当播放器的状态改变时,会调用此方法

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

时长 & 进度

找到当前项目的持续时间时

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

定期调用此方法以更新播放进度

func audioPlayer(_ audioPlayer: AudioPlayer, didUpdateProgressionToTime time: TimeInterval, percentageRead: Float)

percentageRead 是一个介于 0 和 100 之间的 Float 值,非常适合更新 UISlider

队列管理

当新的音频项目开始播放时,会调用此方法

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

控制中心 & 锁屏集成

要通过控制中心或锁定屏幕处理媒体控件

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    application.beginReceivingRemoteControlEvents()
    return true
}

// In your UIResponder (or AppDelegate):
override func remoteControlReceived(with event: UIEvent?) {
    if let event = event {
        yourPlayer.remoteControlReceived(with: event)
    }
}

贡献

欢迎贡献! 要贡献

  1. Fork 该存储库。
  2. 创建一个新的功能分支:git checkout -b my-new-feature
  3. 提交您的更改:git commit -am 'Add some feature'
  4. 推送到分支:git push origin my-new-feature
  5. 提交 pull request。

待办事项

许可证

本项目根据 MIT 许可证获得许可。 有关更多信息,请参见 LICENSE 文件。


致谢

本项目基于 AudioPlayer 的原始版本,作者为 Kevin Delannoy。 特别感谢 Kevin 的基础工作,这对 SwiftAudioKit 的开发起到了重要作用。