我目前正在测试AVPlayer与音频流url的使用,使用Swift.有play()种和pause()种方法,但问题是,只要暂停,流就会被缓存在设备中.
以下是我的测试代码:
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()
}
}
Here are the issues when trying somethings :
player = nil
:"无法将'NilLiteralCOnvertible'类型的值分配给'AVPlayer'类型的值"
player.currentItem = nil
:"无法分配给属性:'currentItem'是仅获取的属性"
我什么都试过了,即使试了AVQueuePlayer次也没有任何效果.(显然,因为我的箱子里只有一件物品).
如何达到stop AVPlayer或destroy his instance?