iPhone通话期间的AVPlayer或AVQueuePlayer

时间:2015-03-23 16:32:33

标签: ios iphone avplayer avqueueplayer

我有一个使用AVPlayer(或AVQueuePLayer)来播放应用程序记录的本地文件的应用。一切都很棒。但我也希望这可以在正在进行通话时在iPhone上运行(视频是事件录音)。我发现在通话过程中,avplayerLayer的视频转为空白,AVPlayer费率更改为0(停止),并且所有将费率更改为非零(PLAY)的尝试都将被忽略(费率保持在0)。似乎没有关于此的任何文档,并且在播放器中检测此条件的唯一方法是播放器已停止并且不会开始播放播放。当然,我还检查音频中断和正在进行的呼叫中心呼叫。

显然,在这种情况下,中断是由呼叫引起的,因此始终存在非活动/恢复或intactive/background/foreground/resume转换。以及音频路由通知,音频中断。所以间接地我知道可能正在发生这种情况。

所以问题是: (1)是否有任何直接方法(特定于AVPlayerAVPlayerLayer)通知AVPlayer处于此非播放模式。我现在使用" avplayer.rate无法将速率从0更改为非零",但这看起来很糟糕(而且太多了#34;穿过流"!)我想通知用户视频暂时无法播放或预览,因此他们不认为应用程序已损坏。并在iPhone通话结束时通知他们或自动继续播放。 (没有循环过程,每隔500毫秒继续尝试开始播放!)

(2)当iPhone通话(绿条)正在进行时,AVPlayer可以播放任何内容吗?或者这只是苹果设计AVPlayer SDK的方式? (如果没有这方面的文档)显然,其他应用程序可以在iPhone通话期间播放视频,但我怀疑他们使用的是较低级别的SDK,而不是AVPlayer

0 个答案:

没有答案