问题描述
我正在使用 AVPlayer 项目来播放直播流(广播应用程序)。一切似乎都在工作,但是,整个代码都在一个视图控制器下,即 PlayerViewController : UIViewController.
因为我将向应用程序添加更多功能并且不想重复用于 AVPlayer 的所有方法。如何使用所有必需的方法为 Swift Class
创建 AVPlayer
并继续在我应用的多个页面(未来的视图控制器)上使用该类实例?
这是加载到 ViewDid Load()
的代码。稍后将添加 Remote Commands
之类的功能。我不想为执行相同任务的单独视图控制器重复代码。
func configurePlayer(){
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSession.Category.playback)
print("AVAudioSession Category Playback OK")
do {
try AVAudioSession.sharedInstance().setActive(true)
print("AVAudioSession is Active")
} catch let error as NSError {
print(error.localizedDescription)
}
} catch let error as NSError {
print(error.localizedDescription)
}
guard let url = URL(string: station!.url!) else {return}
let playerItem = AVPlayerItem(url: url)
player = AVPlayer(playerItem: playerItem)
}
该类的一些其他方法将是
func togglePlayer() {
if player?.rate != 0 {
player?.pause()
self.playButton.setBackgroundImage(UIImage(systemName: "play.circle"),for: .normal)
} else {
player?.play()
self.playButton.setBackgroundImage(UIImage(systemName: "stop"),for: .normal)
}
}
//Method 1{...}
//Method 2 {...}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)