2009-12-28 67 views
1

任何人都可以解釋我如何在iphone設備中以縱向模式播放視頻。如果您提供一些示例代碼來進行參考,這將會非常有幫助。提前致謝。我可以在縱向模式中播放視頻嗎?

+0

這是一個重複的http://stackoverflow.com/questions/1423610/how-to-play-movie-in-portrait-mode – 2009-12-28 15:35:46

回答

0

我的建議是旋轉視頻,這樣如果它在橫向播放並且設備轉向肖像,它將會正確定位。從那裏,如果你不需要它們,你可以禁用這些控件(因此點擊屏幕不會顯示視頻控件)。這樣用戶就不會知道玩家實際上是風景。

編輯:試試這個代碼從這個線程在iPhoneDevSDK;我不知道這是否會工作,因爲我沒有用它,但:

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]]; 

[moviePlayer setOrientation:UIDeviceOrientationPortrait animated:NO]; 

編輯:哎呀!當我在該主題中進一步閱讀時,Apple認爲該方法是一個私有API,並可能會拒絕使用它的應用程序。雖然你可以嘗試。

+0

我的需求不需要對視頻的控制,但我怎樣才能旋轉視頻(CGAffineTransformMakeRotation()可以做到這一點?)。這個領域是新的,你能提供一些示例代碼。 – kmr 2009-12-28 05:45:01

+0

我試過了 - 如果你想用這個提交,Apple *會*拒絕你的應用!我們必須解決風景模式! – 2010-02-04 16:24:43

+0

Apple沒有拒絕我的應用程序,但它在iOS 4.0中崩潰,所以我不得不改變它。 – Dimitris 2010-06-16 14:09:03

0

你想成爲肖像取向?視頻本身,你可以旋轉任何方式,當你創建它;但是,重疊控件不能在SDK的邊界內做任何事情。

0

最簡單的方法是使用UIWebView播放視頻,因爲它支持兩種方向。
下面是一些示例代碼(注:web視圖將產生一個新的模式視圖視頻播放的,所以我它的大小在零X零):

if(!webView) 
{ 
    self.webView = [[[UIWebView alloc] initWithFrame:CGRectZero] autorelease]; 
    [self.view addSubview:webView]; 
} 

NSURL *url = [NSURL URLWithString:@"http://myserver.com/movie.m4v"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:request]; 
1

如果要縱向顯示您的電影模式使用MPMoviePlayerController,它是更好的 讓您的視頻旋轉90度,以便它始終在橫向模式中播放,但在用戶看起來像在縱向模式下播放...

我已經經歷了這麼多的竅門並發現上述爲最佳替代。

相關問題