iOS将MPMoviePlayerController镜像到电视,全屏播放电视屏幕

时间:2015-06-29 06:58:27

标签: ios objective-c iphone mpmovieplayercontroller airplay

我有一个使用MPMoviePlayerController播放视频(本地存储)的应用程序

    NSString *deviceDir = [[NSUserDefaults standardUserDefaults] stringForKey:WZLDEVICEPATH];
NSString *videopath = [deviceDir stringByAppendingPathComponent:video]
NSURL *url = [NSURL fileURLWithPath:videopath];
player = [[MPMoviePlayerController alloc] initWithContentURL:url];
CGRect viewInsetRect = CGRectInset (playerframe,
                                            0.0,
                                            0.0 );
        /* Inset the movie frame in the parent view frame. */
[[player view] setFrame:viewInsetRect];
[player view].backgroundColor = [UIColor clearColor];
[player view].tag = TAG_VIDEO_PLAYER;
player.movieSourceType = MPMovieSourceTypeFile;
[player prepareToPlay];
[self.view addSubview: [player view]];

现在我需要将应用程序镜像到外部设备,镜像对第二个屏幕(电视)工作正常,但电视播放的分辨率(宽度x高度)与iPad中的相同,我必须全屏播放电视。有没有办法在两个设备上以不同的分辨率进行同步播放。

我已尝试使用不同的MPMoviePlayerController实例进行多窗口,但同步播放受到影响。是否有一些解决这些问题的工作?

1 个答案:

答案 0 :(得分:1)

[secondScreen  setOverscanCompensation: UIScreenOverscanCompensationInsetApplicationFrame];

通过以上设置,16:9分辨率的视频将通过填充整个屏幕开始播放。 4:3视频,顶部带有黑条和&这是好的,我们知道要保持它所需的宽高比。

注意我还注意到,当我们使用iPad Mini时,旧的行为仍然存在。