gpt4 book ai didi

ios - 无法停止 AVPlayer

转载 作者:IT王子 更新时间:2023-10-29 05:10:46 34 4
gpt4 key购买 nike

我目前正在使用 Swift 测试 AVPlayer 与音频流 url 的结合使用。有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()
}
}

以下是尝试时遇到的问题:

player = nil:“无法将‘NilLiteralCOnvertible’类型的值分配给‘AVPlayer’类型的值”

player.currentItem = nil:“无法分配给属性:‘currentItem’是一个只能获取的属性”


我尝试了一切,甚至通过 AVQueuePlayer没有任何有效的结果。 (很明显,因为我的箱子里只有一件元素)。

如何停止AVPlayer销毁他的实例

最佳答案

从这里post我找到了在您离开或开始新播放器之前完全停止 AVPlayer 的最佳解决方案:

videoPlayer.replaceCurrentItemWithPlayerItem(nil)

[更新] 对于 SWIFT 3:

player.replaceCurrentItem(with: nil)

关于ios - 无法停止 AVPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32993896/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com