Advertisement
Guest User

Swift Music Player

a guest
Jan 20th, 2022
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. private func playPauseActionHandler(completion: ((Bool)->Void)? = nil) {
  2.  
  3. if radio.player == nil {
  4. configureAudioSession() // call just before playing first audio
  5. }
  6.  
  7. if let url = URL(string: radio.streamURL) {
  8.  
  9. radio.playerItem = AVPlayerItem(url: url)
  10. radio.player = AVPlayer(playerItem: radio.playerItem)
  11.  
  12. session.activate(options: []) { (success, error) in
  13.  
  14. guard error == nil else {
  15. print("*** An error occurred: \(error!.localizedDescription) ***")
  16. completion?(false)
  17. return
  18. }
  19.  
  20. if playing == false {
  21. radio.player?.play()
  22. playing = true
  23. } else {
  24. radio.player?.pause()
  25. playing = false
  26. }
  27.  
  28.  
  29. completion?(success)
  30. }
  31. }
  32. }
  33.  
  34. private var audioStreamIsPlaying: Bool {
  35.  
  36. if let audioPlayer = radio.player {
  37. return audioPlayer.rate > 0 // audio is playing
  38. }
  39.  
  40. return false
  41. }
  42.  
  43. private func configureAudioSession() {
  44.  
  45. do {
  46. try session.setCategory(AVAudioSession.Category.playback,
  47. mode: .default,
  48. policy: .longFormAudio,
  49. options: [])
  50. } catch let error {
  51. fatalError("*** Unable to set up the audio session: \(error.localizedDescription) ***")
  52. }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement