如何通过AirPlay在Apple TV上显示叠加层

时间:2013-08-20 00:10:29

标签: ios overlay mpmovieplayercontroller airplay apple-tv

我正在开发一款iOS应用程序,通过AirPlay在Apple TV上显示视频,例如足球游戏。我希望在视频播放时在大屏幕上显示其他信息,例如玩家统计信息。

我知道Redfin方法,他们要求用户首先打开AirPlay镜像。不幸的是,这对我们来说是不可接受的。我们希望用户能够明白如何显示视频。

我们目前在显示视频之前提供AirPlay Route按钮,以允许用户使用以下代码进行设置。

self.airPlayPicker = [[MPVolumeView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
self.airPlayPicker.showsVolumeSlider = NO;
self.airPlayPicker.showsRouteButton = YES;
[self.view addSubview:self.airPlayPicker];

路线按钮将在Apple TV周围显示,允许用户将其打开。然后,我们使用MPMoviePlayerController呈现视频。

当打开AirPlay并播放视频时,在代码中,我只看到一个UIScreen,而是两个UIWindows。但两个UIWindows都具有与iPhone相同的尺寸。当我将子视图添加到UIWindow时,子视图始终显示在iPhone上。

有没有人想出如何在Apple TV上的视频顶部呈现叠加效果?我如何找到托管视频的视图对象?

我知道MPMoviePlayerController是建立在AVPlayer之上的。使用AVPlayer会让我们更好地控制UI吗?

1 个答案:

答案 0 :(得分:1)

据我所知,这是不可能的。在不使用镜像的情况下使用AirPlay时,只会将视频的URL发送到Apple TV。然后由Apple TV实际播放媒体。

镜像就是这样做的。