2011-04-09 45 views
0

翻轉視頻平鋪我有這樣的,當我在衆目睽睽之下發揮它和翻轉模擬器水平的視頻不會翻轉視頻。我如何根據iPhone的加速度計進行視頻翻轉?在Xcode

下面是視頻的代碼,如果有幫助:

- (void)viewDidAppear:(BOOL)animated { 

    NSBundle *bundle=[NSBundle mainBundle]; 
    NSString *moviePath = [bundle pathForResource:@"MainPageMovie" ofType:@"mp4"]; 
    NSURL *movieURL=[[NSURL fileURLWithPath:moviePath] retain]; 
    MPMoviePlayerController *theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movieURL]; 
    theMovie.scalingMode = MPMovieScalingModeAspectFill; 
    theMovie.view.frame = CGRectMake(115.0, 156.0, 200.0, 150.0); 
    [self.view addSubview:theMovie.view]; 
    [theMovie play]; 

    [super viewDidLoad]; 
    self.view.backgroundColor = [UIColor viewFlipsideBackgroundColor]; 
} 

回答

0

你的MPMoviePlayerController視圖添加作爲一個子視圖到另一個視圖控制器的看法。在那個父視圖控制器中,是否覆蓋了shouldAutorotateToInterfaceOrientation方法? 如果你只是尋找橫向(水平)旋轉,你可以有如下代碼:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Overriden to allow any orientation. 
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)); 
} 
+1

'返回UIInterfaceOrientationIsLandscape(interfaceOrientation);' – 2011-04-10 00:13:11

+0

維拉沒有這個應用程序是一個原始的一種,我還沒有任何的觀點添加的旋轉。所有的視圖都是垂直的。我只是想旋轉視頻,當它在全景。這可以做到嗎? – 2011-04-10 00:35:02

+0

問題解決了視頻:)我剛剛添加(返回YES;)代碼。 但現在問題是,當我旋轉模擬器時,所有其他視圖都會旋轉。我沒有爲其他視圖添加橫向視圖。我怎樣才能允許視頻旋轉? – 2011-04-10 00:54:57

0

爲了旋轉更大的視圖控制器視圖的具體子視圖,(在您的情況會是這樣只有旋轉視頻),你必須做CGAffineTransform s。這將允許您調整視圖大小,旋轉視圖等。AFAIK,這可能是旋轉單個視圖的最佳路線。

但是,您可能想研究更進MPMoviePlayerViewController。看看this post,它似乎解決了你的問題。