Ios AVPlayer不断添加流,而不是替换流
我正在从URL触发视频播放。它只是一个按钮,打开AVPlayerController全屏。如果人们关闭它,用户可以返回到另一个项目,可能还有一个视频。在那里,他们可以点击视频开始,但是,当他们这样做的时候,我可以听到前一个播放器的音频,另一个VC和这个播放器一起播放。这种情况一直存在。我怎样才能避免这种情况 这是我的视频播放器课Ios AVPlayer不断添加流,而不是替换流,ios,swift,avplayer,Ios,Swift,Avplayer,我正在从URL触发视频播放。它只是一个按钮,打开AVPlayerController全屏。如果人们关闭它,用户可以返回到另一个项目,可能还有一个视频。在那里,他们可以点击视频开始,但是,当他们这样做的时候,我可以听到前一个播放器的音频,另一个VC和这个播放器一起播放。这种情况一直存在。我怎样才能避免这种情况 这是我的视频播放器课 import UIKit import AVFoundation import AVKit class simpleVideoPlayer: UIViewContro
import UIKit
import AVFoundation
import AVKit
class simpleVideoPlayer: UIViewController {
var playerController = AVPlayerViewController()
var player:AVPlayer?
var inputVideoUrl: String? = nil
func setupVideo() {
self.player = AVPlayer()
self.playerController.player = self.player
}
func playNext(url: URL) {
let playerItem = AVPlayerItem.init(url: url)
self.playerController.player?.replaceCurrentItem(with: playerItem)
self.playerController.player?.play()
}
func setupVideoUrl(url: String) {
inputVideoUrl = url
}
}
这是在我的viewcontroller中。它首先从我的服务器获取一个可能的广告的URL,如果失败,那么它将只加载“默认”视频
移除finishVideo中的观察者完成了此操作
@objc func finishVideo() {
NotificationCenter.default.removeObserver(self)
let url = URL(string: (article?.video_link?.files[0].link_secure)!)
SimpleVideo.playerController.setValue(false, forKey: "requiresLinearPlayback")
SimpleVideo.playNext(url: url!)
}
@objc func finishVideo() {
NotificationCenter.default.removeObserver(self)
let url = URL(string: (article?.video_link?.files[0].link_secure)!)
SimpleVideo.playerController.setValue(false, forKey: "requiresLinearPlayback")
SimpleVideo.playNext(url: url!)
}