Ios 是否可以强制AVPlayer停止在外部(苹果电视上)播放视频

Ios 是否可以强制AVPlayer停止在外部(苹果电视上)播放视频,ios,avfoundation,avplayer,airplay,Ios,Avfoundation,Avplayer,Airplay,我有一个iOS应用程序,通过AVPlayer通过HTTP播放视频 我有一个MPVolumeView,可以选择airplay设备来播放当前播放 但现在我需要有能力以编程方式停止视频流,并在iPad屏幕上的应用程序中继续播放AVPlayer的视频层。(与MPVolumeView的按钮类似,但以编程方式) 请帮帮我,我自己也在谷歌的帮助下试图找到解决方案,但我无法解决这个问题:( 真的有可能吗 谢谢!首先,您必须阅读有关编程多个显示器的参考资料 但在这种特定情况下,我认为您正在寻找[UIScreen

我有一个iOS应用程序,通过AVPlayer通过HTTP播放视频

我有一个MPVolumeView,可以选择airplay设备来播放当前播放

但现在我需要有能力以编程方式停止视频流,并在iPad屏幕上的应用程序中继续播放AVPlayer的视频层。(与MPVolumeView的按钮类似,但以编程方式)

请帮帮我,我自己也在谷歌的帮助下试图找到解决方案,但我无法解决这个问题:(

真的有可能吗

谢谢!

首先,您必须阅读有关编程多个显示器的参考资料


但在这种特定情况下,我认为您正在寻找
[UIScreen screens]
返回
UIScreen
对象的
NSArray
。索引为0的
UIScreen
是内部显示器,索引为1的是苹果电视的显示器。从现在开始,根据文档及其示例,您只需创建一个
UIWindow
,它的屏幕属性为
UIScreen
您希望在其上显示。然后您可以轻松地将层、视图等添加到该UIWindow中。

在这种情况下,您不需要直接对多个显示器进行编程。您只需告诉iOS的视频子系统停止使用其他显示器即可


AVPlayer
有一个属性,您可以将该属性设置为
NO
。这将禁用外部显示器上的播放。播放将在您的应用程序中的播放机原始
AVPlayerLayer
上继续进行。

感谢您的参考和帮助Rickye,它似乎是解决方案的关键,我将尝试使用它,也许会这样lve我的问题。这绝对值得研究!我已经尝试过了,视频播放在外部显示器上被禁用,并在iPad屏幕上继续播放,但音频仍然通过外部显示器播放是的…我也遇到了这个问题。音频仍然通过外部显示器播放。你找到解决方案了吗@AlexanderTkachenko@KarenAnne不幸的当然没有。我有一些想法,通过AVPlayer播放“视频”时使用AVAudioSession播放声音,所以当我们禁用allowsExternalPlayback时,AVAudioSession使用它自己的设置并通过外部设备连续播放。我想可能还需要配置AVAudioSession以禁用airplay。你们中有人找到解决方案吗?我遇到了同样的问题,音频通过外部显示器继续播放…thx!