使用MPMoviePlayerViewController在iPad上播放视频

时间:2010-05-07 14:01:31

标签: iphone ipad ios-simulator mpmovieplayercontroller

我一直在与一些代码进行战斗,我希望其他人可能已经遇到过这个问题,并且可以指出我正确的方向。

我正在使用MPMoviePlayerViewController在iPad上播放视频。主要问题是它在iPad模拟器上无法正常工作,但在iPad上根本无法播放。我尝试重新编码视频,以确保这不是一个问题。我正在使用的视频目前是使用 H.264 Basline 3.0和AAC / LC音频编码的480x360视频。视频在iPhone上播放得很好,也可以在iPad上通过Safari播放。视频实际上已加载,您可以使用滑块条擦除视频并查看它是否在那里。帧实际显示,但不会播放。如果单击“播放”,则会立即停止播放。即使我设置了mp.moviePlayer.shouldAutoplay=YES,你也可以看到播放器尝试播放,但只是一瞬间(可能是1帧?)。

我尝试使用以下代码添加视图:

in .h
------
MPMoviePlayerViewController          *vidViewController;
@property (readwrite, retain)     MPMoviePlayerViewController *vidViewController;

in .m
------

MPMoviePlayerViewController *mp=[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:videoURL]];
[mp shouldAutorotateToInterfaceOrientation:YES];
mp.moviePlayer.scalingMode=MPMovieScalingModeAspectFit;
mp.moviePlayer.shouldAutoplay=YES;
mp.moviePlayer.controlStyle=MPMovieControlStyleFullscreen;
[videoURL release];


self.vidViewController = mp;
[mp release];

[self.view addSubview:vidViewController.view];

float w = self.view.frame.size.width;
float h = w * 0.75;

self.vidViewController.view.frame = CGRectMake(0, 0, w, h);

我刚刚尝试过:

[self presentMoviePlayerViewControllerAnimated:self.vidViewController];

我实际上无法正确定位...总是以纵向显示并且几乎完全脱离底部的屏幕,并且应用程序仅用于在任一横向视图中运行...

如果有人需要更多信息,请告诉我。我就是以我的智慧结束。任何帮助都将非常感激。

3 个答案:

答案 0 :(得分:2)

我在这里看到了2个问题。

首先,您没有设置视图的框架。尝试添加

mp.view.frame = self.view.frame;

这就是为我解决的问题。

接下来不需要调用shouldAutorotateToInterfaceOrientation。此方法只是告诉您视图是否支持方向。查看Apple文档。

答案 1 :(得分:1)

您可能想尝试关闭iPad(关闭电源),删除并重新安装该应用。

答案 2 :(得分:0)

将视频播放器添加到视图后,只需添加一行:

[self.vidViewController.moviePlayer play];

看看它是否有帮助。

谢谢,

Madhup