1

我已经与一些代码作斗争了大约一个星期,我希望其他人可能遇到过这个问题并能指出我正确的方向。

我正在使用MPMoviePlayerViewControlleriPad 上播放视频。主要问题是它可以在 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];

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

如果有人需要更多信息,请告诉我。我对此束手无策。任何帮助将不胜感激。

4

3 回答 3

2

我在这里看到两个问题。

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

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

这就是为我解决的问题。

接下来shouldAutorotateToInterfaceOrientation不需要调用。这个方法只是告诉你视图是否支持一个方向。检查苹果文档。

于 2010-06-30T11:32:41.363 回答
1

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

于 2010-05-07T21:12:02.247 回答
0

只需在将电影播放器​​添加到视图后添加一行:

[self.vidViewController.moviePlayer play];

看看有没有帮助。

谢谢,

马杜普

于 2010-05-08T10:17:47.753 回答