我想在視圖內播放視頻,所以我可以移動它,與其他視圖一起執行佈局,但似乎無法使用MPMoviePlayerController工作。我在how to play video in portrait mode上遇到過這個鏈接,但這是不可能的,因爲視頻源來自網絡,應該可以在不同平臺上播放,而不僅僅是在iPhone上播放。使用MPMoviePlayerController在視圖內播放視頻?
我已經成功地旋轉了視頻和縮放它,但它仍然包含在填充整個屏幕的UIWindow中。有沒有辦法創建一箇中間的UIWindow,但在當前屏幕中看不到,所以你可以在那裏播放視頻,並可能添加子視圖,並將所有內容都作爲UIView返回,我可以將它放在任何位置?類似於創建一個CGGraphics上下文在那裏繪製對象並輸出爲圖像。這也會阻止當前屏幕從縱向旋轉到橫向。
----- 2010/06/22 06:10 + 08:00 ---
響應Jasarien的答案(如下圖),實際上它是可以旋轉和縮放視頻。視頻預加載後,它會創建另一個UIWindow實例,然後成爲當時的關鍵窗口。通過在MPMoviePlayerContentPreloadDidFinishNotification中創建回調選擇器,可以應用當前密鑰窗口的變換修改。
-(void)myMovieFinishedPreloading:(NSNotification*)aNotification {
NSArray *windows = [[UIApplication sharedApplication] windows];
UIWindow *moviePlayerWindow = nil;
if ([windows count] > 1)
{
moviePlayerWindow = [[UIApplication sharedApplication] keyWindow];
}
CGAffineTransform transform = CGAffineTransformMakeScale(0.5, 0.5);
transform = CGAffineTransformRotate(transform, -90.0f*M_PI/180.0f);
[moviePlayerWindow setTransform:transform];
}
現在的問題是,現在它的一個UIWindow和因爲一個UIWindow部分是UIView子類,是有可能子視圖這個UIView的?此外,我似乎無法禁用預加載視頻時的自動旋轉行爲。
也許這應該是一個評論?或者,也許你可以進入更多的細節 – 2012-09-26 16:31:15