我一直在与一些代码进行战斗,我希望其他人可能已经遇到过这个问题,并且可以指出我正确的方向。
我正在使用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];
我实际上无法正确定位...总是以纵向显示并且几乎完全脱离底部的屏幕,并且应用程序仅用于在任一横向视图中运行...
如果有人需要更多信息,请告诉我。我就是以我的智慧结束。任何帮助都将非常感激。
答案 0 :(得分:2)
我在这里看到了2个问题。
首先,您没有设置视图的框架。尝试添加
mp.view.frame = self.view.frame;
这就是为我解决的问题。
接下来不需要调用shouldAutorotateToInterfaceOrientation
。此方法只是告诉您视图是否支持方向。查看Apple文档。
答案 1 :(得分:1)
您可能想尝试关闭iPad(关闭电源),删除并重新安装该应用。
答案 2 :(得分:0)
将视频播放器添加到视图后,只需添加一行:
[self.vidViewController.moviePlayer play];
看看它是否有帮助。
谢谢,
Madhup