我正在使用MPMovieplayercontroller
播放视频,播放来自网络服务的视频。源视频文件采用potrait模式,但逆时针旋转90º。因此,当我在 MPMovieplayercontroller 中播放时,它的播放方式如下所示:示例图像
有没有办法旋转来自网络服务的视频文件?
我尝试为MPMovieplayercontroller.view
应用转换,但电影播放器控件也在旋转。我的要求是我只需要旋转视频部分。有没有办法实现这一目标。请帮我解决这个问题,这将是很有帮助的。
提前致谢
答案 0 :(得分:2)
试试这个:(我已经为MPMoviePlayerViewController创建了一个子类)
- (void)configureSubViews
{
if (self.moviePlayer.view.subviews.count > 0)
{
UIView *view = self.moviePlayer.view.subviews[0];
if (view.subviews.count > 0)
{
UIView *sView = view.subviews[0];
self.viewPlayerVideoContent = [sView viewWithTag:1002];
self.viewPlayerControls = [sView viewWithTag:1003];
}
}
}
我真的不喜欢以这种方式使用subViews,但它可以工作..(至少对于iOS5和iOS6)
然后,您可以尝试旋转viewPlayersVideoContent:)
答案 1 :(得分:2)
您需要按照以下代码轮换MPMoviePlayer
视图。
这将是最好的。我测试了它。
NSURL *fileUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Video" ofType:@"mp4"]];
MPMoviePlayerViewController *moviePlayerController = [[MPMoviePlayerViewController alloc]initWithContentURL:fileUrl];
[moviePlayerController.moviePlayer prepareToPlay];
[moviePlayerController.moviePlayer setRepeatMode:MPMovieRepeatModeOne];
[moviePlayerController.moviePlayer setControlStyle:MPMovieControlStyleEmbedded];
moviePlayerController.view.transform = CGAffineTransformMakeRotation(M_PI/2);
[self.view addSubview:moviePlayerController.view];
答案 2 :(得分:1)
您可以通过以下代码实现此目的,
yourMoviePlayerController.view.transform = CGAffineTransformMakeRotation(M_PI/2);
如果你想让你在某个地方修改控件,默认情况下它是不可能的。因此,您需要通过以下代码隐藏默认控件,
yourMoviePlayerController.controlStyle = MPMovieControlModeHidden;
然后以编程方式为控件添加一个subView。