Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private func playPauseActionHandler(completion: ((Bool)->Void)? = nil) {
- if radio.player == nil {
- configureAudioSession() // call just before playing first audio
- }
- if let url = URL(string: radio.streamURL) {
- radio.playerItem = AVPlayerItem(url: url)
- radio.player = AVPlayer(playerItem: radio.playerItem)
- session.activate(options: []) { (success, error) in
- guard error == nil else {
- print("*** An error occurred: \(error!.localizedDescription) ***")
- completion?(false)
- return
- }
- if playing == false {
- radio.player?.play()
- playing = true
- } else {
- radio.player?.pause()
- playing = false
- }
- completion?(success)
- }
- }
- }
- private var audioStreamIsPlaying: Bool {
- if let audioPlayer = radio.player {
- return audioPlayer.rate > 0 // audio is playing
- }
- return false
- }
- private func configureAudioSession() {
- do {
- try session.setCategory(AVAudioSession.Category.playback,
- mode: .default,
- policy: .longFormAudio,
- options: [])
- } catch let error {
- fatalError("*** Unable to set up the audio session: \(error.localizedDescription) ***")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement