Impossible to stop AVPlayer
If you declare player
as an optional variable, you can then set the player to nil
to deallocate it.
Silly example but it shows what happens:
import UIKitimport AVFoundationclass ViewController: UIViewController { @IBOutlet weak var btnPlay: UIButton! var player:AVPlayer? override func viewDidLoad() { super.viewDidLoad() } @IBAction func btnPress(sender: AnyObject) { if (btnPlay.titleLabel?.text == "Play") { initPlayer() btnPlay.setTitle("Stop", forState: UIControlState.Normal) } else { stopPlayer() btnPlay.setTitle("Play", forState: UIControlState.Normal) } } func initPlayer() { if let play = player { print("playing") play.play() } else { print("player allocated") player = AVPlayer(URL: NSURL(string: "http://streaming.radio.rtl.fr/rtl-1-48-192")!) print("playing") player!.play() } } func stopPlayer() { if let play = player { print("stopped") play.pause() player = nil print("player deallocated") } else { print("player was already deallocated") } }}