这就是我创建一个播放器实例的方法:
player = AVPlayer(URL: stream) // streaming from the internetplayer!.play()
稍后我会做这样的事情
println(player!.rate)
这是我发现的:
>在模拟器中,如果播放器没有运行,我得到“0.0”,如果它正在运行,我得到“1.0”.
>如果我启动播放器但中断互联网连接,它会将值从1更改为0.
>但是,在我的iPhone上,即使进入飞行模式,该属性仍保持值1?
您是否知道为什么会发生这种情况以及如何检查流情况呢?
到目前为止我已经尝试了一个观察者:
player!.addobserver(self,forKeyPath: "status",options: NSkeyvalueObservingOptions.New,context: nil)
但即使是方法“observeValueForKeyPath”也不会在我的iPhone测试用例中被触发.
解决方法 查看 the Apple docs here并滚动到“键值观察”部分.特别是那部分的#3.
它帮助我实现了工作.我得到的代码如下所示:
//Globalvar player = AVPlayer()func setUpPlayer() { //... // Setting up your player code goes here self.player.addobserver(self,options: NSkeyvalueObservingOptions(),context: nil) //...}// catch changes to statusoverrIDe func observeValueForKeyPath(keyPath: String?,ofObject object: AnyObject?,change: [String : AnyObject]?,context: UnsafeMutablePointer<VoID>) { print("obsrved")}总结
以上是内存溢出为你收集整理的ios – 如何检查AVPlayer的状态?全部内容,希望文章能够帮你解决ios – 如何检查AVPlayer的状态?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)