MPMoviePlayerController 電影播放器—備用

MPMoviePlayerController 與AVAudioPlayer有點相似,前者播放視頻,後者播放音頻,不過也有很大不一樣,MPMoviePlayerController 能夠直接經過遠程URL初始化,而AVAudioPlayer則不能夠。不過大致上用起來感受差很少。廢話少說進入體驗。

 

格式支持:MOV、MP四、M4V、與3GP等格式,還支持多種音頻格式。
首先你得引入 MediaPlayer.framework.而後在使用到MPMoviePlayerController 的文件中導入相應的頭文件。
1、建立
MPMoviePlayerController 類經過一個NSURL來初始化,這個URL可使本地的,也能夠是遠程的。初始化須要經過 initWithContentURL 方法來實現:html

  1. MPMoviePlayerController *moviePlayer = [ [ MPMoviePlayerController alloc]initWithContentURL:[NSURL urlWithString:@"http://"] ];//遠程  

或者ide


  1. NSString* path =[ NSString stringWithFormat:@"%@/Documents/video.3gp",NSHomeDirectory()];//本地路徑  
  2. MPMoviePlayerController *moviePlayer = [ [ MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:path]];//本地的  

2、屬性設置
1.控制器樣式url


  1. moviePlayer.moviewControlMode = MPMovieControlModeDefault;  

可使用下列樣式:
MPMovieControlModeDefault            顯示播放/暫停、音量和時間控制
MPMovieControlModeVolumeOnly         只顯示音量控制
MPMovieControlModeHidden             沒有控制器
2.屏幕寬高比例spa


  1. moviePlayer.scallingMode = MPMovieScallingModeAspectFit;  

你可使用下列寬高比值:
MPMovieScallingModeNone            不作任何縮放
MPMovieScallingModeAspectFit       適應屏幕大小,保持寬高比
MPMovieScallingModeAspectFill      適應屏幕大小,保持寬高比,可裁剪
MPMovieScallingModeFill            充滿屏幕,不保持寬高比
3.背景色
背景色會在電影播放器轉入轉出時使用,當電影不能充滿整個屏幕時,也會用來填充空白區域。默認的背景色是黑色,不過你可使用 UIColor 對象設置backgroundColor屬性,來改變背景色:orm


  1. moviePlayer.backgroundColor = [UIColor redColor];  

3、播放和中止電影
要播放電影請調用play 方法,電影播放控制器會自動將視圖切換到電影播放器並開始播放:視頻

  1. [ moviePlayer play ];  

當用戶點擊Done按鈕,或者 stop 方法被調用都會中止server

  1. [ moviePlayer stop ];  

當電影中止播放後會自動切回播放前應用程序所在的視圖。
4、通知
你的程序能夠配置電影播放器在什麼時候候發送通知,包括結束加載內容、技術播放、改變寬高比等。電影播放器會將事件發送到 Cocoa 的通知中心,你能夠對其進行配置,指定將這些事件轉發到你的應用程序的一個對象。要接收這些通知,須要使用 NSNotificationCenter 類,爲電影播放器添加一個觀察者(observer):xml

  1. NSNotificationCenter* notificationCenter = [NSNotificationCenter defaultCenter];  
  2. [ notificationCenter addObserver:self selector:@selector(moviePlayerPreloadFinish:) name:MPMoviePlayerContentPreloadDidFinishNotification object:moviePlayer ];  

通知會發到你指定的委託類和目標方法。通知參數讓你能夠知道是哪一個事件觸發了委託方法:htm

  1. -(void)moviePlayerPreloadDidFinish:(NSNotification*)notification{  
  2.     //添加你的處理代碼  
  3. }   

你會觀察到如下通知:
MPMoviePlayerContentPreloadDidFinishNotification 
當電影播放器結束對內容的預加載後發出。由於內容能夠在僅加載了一部分的狀況下播放,因此這個通知可能在已經播放後才發出。
MPMoviePlayerScallingModeDidChangedNotification 
當用戶改變了電影的縮放模式後發出。用戶能夠點觸縮放圖標,在全屏播放和窗口播放之間切換。
MPMoviePlayerPlaybackDidFinishNotification 
當電影播放完畢或者用戶按下了Done按鈕後發出。對象

感謝大神分享

相關文章
相關標籤/搜索