我正在使用MPVolumeView
来显示AirPlay
按钮。我需要通过镜像音频向Apple
TV
展示自定义壁纸。音频在Apple
TV
上正常播放,但壁纸图片未显示。我正在使用AVAudioController
来播放音频。我已经检查了YouTube
应用程序,其中屏幕镜像正在从视频播放应用程序中运行。是否可以使用AVAudioController
在应用内屏蔽镜像?
帮我解决这个问题。提前谢谢。
答案 0 :(得分:1)
不幸的是,当您在控制面板中启用AirPlay镜像时,与AirPlay关联的外部显示器将仅变为活动状态(并发布适当的通知)。似乎有no way to enable mirroring programmatically。
MPVolumeView可以帮助用户将音频重定向到AirPlay扬声器,它与显示镜像无关。
答案 1 :(得分:0)
如果外部显示器可用,基本上是关于创建第二个UIWindow
。在那里你可以展示你的壁纸,这是一个图像,我假设。应该很容易通过UIImageView
将其放入第二个UIWindow
。
答案 2 :(得分:0)
您可以使用AVPlayer属性在应用内屏蔽镜像。
该属性是
@property (nonatomic) BOOL usesAirPlayVideoWhileAirPlayScreenIsActive NS_DEPRECATED_IOS(5_0, 6_0);
或
@property (nonatomic) BOOL usesExternalPlaybackWhileExternalScreenIsActive NS_AVAILABLE_IOS(6_0);.
usesAirPlayVideoWhileAirPlayScreenIsActive
和usesExternalPlaybackWhileExternalScreenIsActive
的默认值为NO。
usesAirPlayVideoWhileAirPlayScreenIsActive
为NO,则 allowsAirPlayVideo
无效。
如果usesExternalPlaybackWhileExternalScreenIsActive
为NO,则allowsExternalPlayback
无效。
答案 3 :(得分:0)
您需要侦听屏幕连接/断开连接通知:
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(handleScreenDidConnectNotification:)
name:UIScreenDidConnectNotification object:nil];
[center addObserver:self selector:@selector(handleScreenDidDisconnectNotification:)
name:UIScreenDidDisconnectNotification object:nil];
在名称:UIScreenDidConnectNotification中,您将看到您的设备现在有2个屏幕,您可以进行设置。