ios – 如何检查AVPlayer的状态?

ios – 如何检查AVPlayer的状态?,第1张

概述我以为我可以通过属性“rate”来检查AVPlayer的状态. 这就是我创建一个播放器实例的方法: player = AVPlayer(URL: stream) // streaming from the internetplayer!.play() 稍后我会做这样的事情 println(player!.rate) 这是我发现的: >在模拟器中,如果播放器没有运行,我得到“0.0”,如果它正在运 我以为我可以通过属性“rate”来检查AVPlayer的状态.

这就是我创建一个播放器实例的方法:

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的状态?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1115010.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存