Impossible d'arrêter AVPlayer

Je suis actuellement en train de tester l'utilisation de AVPlayer avec les url de streaming audio, en utilisant Swift. Il y a play() et pause() méthodes, mais le problème est que, en s'arrêtant seulement, le flux reste en mémoire cache de l'appareil.

Voici mon code de test :

import UIKit
import AVFoundation

class ViewController: UIViewController {

    let player = AVPlayer(URL: NSURL(string: "http://streaming.radio.rtl.fr/rtl-1-48-192")!)

    @IBOutlet weak var btnPlay: UIButton!

    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()  {
        player.play()
    }

    func stopPlayer() {
        //player.currentItem = nil //Last thing I tried, but generate an error
        player.pause()
    }
}

Ici sont les problèmes lorsque vous essayez des choses :

player = nil : "Impossible d'affecter une valeur de type 'NilLiteralCOnvertible' à une valeur de type 'AVPlayer'"

player.currentItem = nil : "Ne peut pas l'affecter à la propriété: 'currentItem' est une seule propriété"


J'ai tout essayé, même à travers AVQueuePlayer sans résultat efficace. (évidemment, puisque je n'ai qu'un seul élément dans mon cas).

Comment arrêter AVPlayer ou détruire son instance ?

source d'informationauteur Zl3n