FRadioPlayer
FRadioPlayer 是围绕 AVPlayer 包装来处理互联网广播播放的。
示例
要运行示例项目,首先克隆仓库,然后在示例目录中运行pod install
。
特性
- 支持互联网广播 URL 播放
- 更新和解析歌曲元数据
- 更新和显示专辑艺术作品(通过 iTunes API)
- 自动处理中断
- 自动处理路由更改
- 支持蓝牙播放
- Swift 5
- 完整文档
- 网络中断处理
- 支持 Carthage
- 支持 macOS
- 支持 tvOS
- 支持 Swift Package Manager(SPM)
- 支持音频触摸
- 支持音频录制
需求
- macOS 10.12+
- iOS 10.0+
- tvOS 10.0+
- Xcode 10.2+
- Swift 5
安装
CocoaPods
FRadioPlayer可以通过CocoaPods获得。要安装它,只需将以下行添加到您的Podfile中
pod 'FRadioPlayer'
Carthage
FRadioPlayer可以通过Carthage获得。要安装它,只需将以下行添加到您的Cartfile中
github "fethica/FRadioPlayer" ~> 0.1.10
Swift 包管理器
FRadioPlayer可以通过SPM获得。要安装它,只需将以下依赖项添加到您的Package.swift
文件中
.package(url: "https://github.com/fethica/FRadioPlayer.git", from: "0.1.18")
手动
将源
文件夹拖放到您的项目中。
使用方法
基础
- 导入
FRadioPlayer
(如果您使用 Cocoapods)
import FRadioPlayer
- 获取单例
FRadioPlayer
实例
let player = FRadioPlayer.shared
- 设置播放器的代理
player.delegate = self
- 设置电台 URL
player.radioURL = URL(string: "http://example.com/station.mp3")
属性
-
isAutoPlay: Bool
当设置radioURL
属性时,播放器开始播放。(默认 ==true
) -
enableArtwork: Bool
启用从 iTunes API 获取专辑封面。 (默认 ==true
) -
artworkSize: Int
封面图像大小。 (默认 ==100
| 100x100)。 -
rate: Float?
只读属性,用于获取当前AVPlayer
的速率。 -
isPlaying: Bool
只读属性,用于检查播放器是否正在播放。 -
state: FRadioPlayerState
播放器当前状态为FRadioPlayerState
类型。 -
playbackState: FRadioPlaybackState
播放状态为FRadioPlaybackState
类型。
播放控制
- 播放
player.play()
- 暂停
player.pause()
- 停止
player.stop()
- 切换播放状态
player.togglePlaying()
代理方法
当播放器状态变化时被调用
func radioPlayer(_ player: FRadioPlayer, playerStateDidChange state: FRadioPlayerState)
当播放状态变化时被调用
func radioPlayer(_ player: FRadioPlayer, playbackStateDidChange state: FRadioPlaybackState)
当播放器更改当前播放项时被调用
func radioPlayer(_ player: FRadioPlayer, itemDidChange url: URL?)
当播放器项更改了定时元数据值时被调用
func radioPlayer(_ player: FRadioPlayer, metadataDidChange artistName: String?, trackName: String?)
当播放器项更改了定时元数据值时被调用
func radioPlayer(_ player: FRadioPlayer, metadataDidChange rawValue: String?)
当播放器获取播放歌曲的封面时被调用
func radioPlayer(_ player: FRadioPlayer, artworkDidChange artworkURL: URL?)
Swift Radioplayer 应用
要了解更多应用程序功能,请查看基于 FRadioPlayer 的 Swift Radioplayer 应用。
破解攻击
使用 XcodeGen 从 project.yml
自动生成 Xcode 项目。因为 Carthage 需要,所以已检入,请勿手动修改。
$ mint run yonaskolb/xcodegen
💾 Saved project to FRadioPlayer.xcodeproj
作者
许可证
FRadioPlayer 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。