FRadioPlayer is a wrapper around AVPlayer to handle internet radio playback.
To run the example project, clone the repo, and run pod install
from the Example directory first.
- Support internet radio URL playback
- Update and parse track metadata
- Update and show album artwork (via iTunes API)
- Automatic handling of interruptions
- Automatic handling of route changes
- Support bluetooth playback
- Swift 4
- Full documentation
- Handling network errors
- Support for Carthage
- Support for Audio Taps
- Support for Audio Recording
- iOS 9 +
- Xcode 9
- Swift 4
FRadioPlayer is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'FRadioPlayer'
Drag the Source
folder into your project.
- Import
FRadioPlayer
(if you are using Cocoapods)
import FRadioPlayer
- Get the singleton
FRadioPlayer
instance
let player = FRadioPlayer.shared
- Set the delegate for the player
player.delegate = self
- Set the radio URL
player.radioURL = URL(string: "http://example.com/station.mp3")
-
isAutoPlay: Bool
The player starts playing when theradioURL
property gets set. (default ==true
) -
enableArtwork: Bool
Enable fetching albums artwork from the iTunes API. (default ==true
) -
artworkSize: Int
Artwork image size. (default ==100
| 100x100). -
rate: Float?
Read only property to get the currentAVPlayer
rate.
- Play
player.play()
- Pause
player.pause()
- Stop
player.stop()
Called when player changes state
func radioPlayer(_ player: FRadioPlayer, playerStateDidChange state: FRadioPlayerState)
Called when the player changes the playing state
func radioPlayer(_ player: FRadioPlayer, player isPlaying: Bool)
Called when player changes the current player item
func radioPlayer(_ player: FRadioPlayer, itemDidChange url: URL?)
Called when player item changes the timed metadata value
func radioPlayer(_ player: FRadioPlayer, metadataDidChange artistName: String?, trackName: String?)
Called when player item changes the timed metadata value
func radioPlayer(_ player: FRadioPlayer, metadataDidChange rawValue: String?)
Called when the player gets the artwork for the playing song
func radioPlayer(_ player: FRadioPlayer, artworkDidChange artURL: URL?)
FRadioPlayer is available under the MIT license. See the LICENSE file for more info.