在iOS要撥放影片其實有兩種播放器的source可以使用。 一個就是Media Player (MPMoviePlayerController),另一個是AVPlayer (AV Foundation)。

這裡會介紹一些簡單使用Media Player的相關程式碼。 主要有幾個部分,第一個部份就是設定撥放來源,在這裡是使用網路上的檔案。

接下來的部分就是關於撥放得相關設定

//強迫旋轉你的iDevice (這裡是橫放)
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:YES];

 // 設定撥放器的外觀
 [WebPlayer setControlStyle:MPMovieControlStyleFullscreen];
        [WebPlayerr setFullscreen:YES];

 //設定影片比例的縮放、重複、控制列等參數

//影片旋轉90度
WebPlayer.view.transform = CGAffineTransformMakeRotation(1.5707964);
WebPlayer.scalingMode = MPMovieScalingModeAspectFit;

WebPlayer.repeatMode = MPMovieRepeatModeNone;

//將影片加至主畫面上

WebPlayer.view.frame = self.view.bounds;

[self.view addSubview:WebPlayer.view];

//開始播放
 [WebPlayer play];

這樣其實就可以撥放全螢幕的影片並且將手機橫放

如果播放完影片要可以回到原來的畫面,則要多接收一個Observer.

// 註冊endPlay 當撥放完畢的時候,會收回傳的通知

 [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(endPlay:)
                                                     name:MPMoviePlayerPlaybackDidFinishNotification
                                                   object:WebPlayer];

最後就是放endPlay的所有內容,裡面的重點在釋放撥放器與回到iDevice相關設定

-(void)endPlay: (NSNotification*)notification
{
	//解除註冊回傳
	[[NSNotificationCenter defaultCenter] removeObserver:self 	name:MPMoviePlayerPlaybackDidFinishNotification object:WebPlayer];

	//將你的iDevice 轉回來
	 [[UIApplication sharedApplication] 	setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES];

	//停止播放
	 [WebPlayer stop];
	//Release control

	[WebPlayer release];

	//現在的view 移除~ 回到原本的view
	[WebPlayer.view removeFromSuperview];

}

參考文章:


Evan

Attitude is everything