你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 詳解iOS運用中播放當地視頻和拔取當地音頻的組件用法

詳解iOS運用中播放當地視頻和拔取當地音頻的組件用法

編輯:IOS開發綜合

MPMoviePlayerControlle播放當地視頻

MPMoviePlayerControlle與AVAudioPlayer有點相似,前者播放視頻,後者播放音頻,不外也有很年夜分歧,MPMoviePlayerController 可以直接經由過程長途URL初始化,而AVAudioPlayer則弗成以。不外年夜體上用起來感到差不多。空話少說進入體驗。
格局支撐:MOV、MP4、M4V、與3GP等格局,還支撐多種音頻格局。
起首你得引入 MediaPlayer.framework.然後在應用到MPMoviePlayerController 的文件中導入響應的頭文件。

1、創立
MPMoviePlayerController 類經由過程一個NSURL來初始化,這個URL可使當地的,也能夠是長途的。初始化須要經由過程 initWithContentURL 辦法來完成:

MPMoviePlayerController *moviePlayer = [ [ MPMoviePlayerController alloc]initWithContentURL:[NSURL urlWithString:@"http://"] ];//長途 

或許

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

2、屬性設置
1.掌握器款式

moviePlayer.moviewControlMode = MPMovieControlModedefault; 

可使用以下款式:
MPMovieControlModedefault            顯示播放/暫停、音量和時光掌握
MPMovieControlModeVolumeOnly         只顯示音量掌握
MPMovieControlModeHidden             沒有掌握器
2.屏幕寬高比例

moviePlayer.scallingMode = MPMovieScallingModeaspectFit; 

你可使用以下寬高比值:
MPMovieScallingModeNone            不做任何縮放
MPMovieScallingModeaspectFit       順應屏幕年夜小,堅持寬高比
MPMovieScallingModeaspectFill      順應屏幕年夜小,堅持寬高比,可裁剪
MPMovieScallingModeFill            充斥屏幕,不堅持寬高比
3.配景色
配景色會在片子播放器轉入轉出時應用,當片子不克不及充斥全部屏幕時,也會用來填充空白區域。默許的配景色是黑色,不外你可使用 UIColor 對象設置backgroundColor屬性,來轉變配景色:

moviePlayer.backgroundColor = [UIColor redColor]; 

3、播放和停滯片子
要播放片子請挪用play 辦法,片子播放掌握器會主動將視圖切換到片子播放器並開端播放:

[ moviePlayer play ];

當用戶點擊Done按鈕,或許 stop 辦法被挪用都邑停滯

[ moviePlayer stop ]; 

當片子停滯播放後會主動切回播放前運用法式地點的視圖。

4、告訴
你的法式可以設置裝備擺設片子播放器在什麼時候候發送告訴,包含停止加載內容、技巧播放、轉變寬高比等。片子播放器會將事宜發送到 Cocoa 的告訴中間,你可以對其停止設置裝備擺設,指定將這些事宜轉發到你的運用法式的一個對象。要吸收這些告訴,須要應用 NSNotificationCenter 類,為片子播放器添加一個不雅察者(observer):

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

告訴會發到你指定的拜托類和目的辦法。告訴參數讓你可以曉得是哪一個事宜觸發了拜托辦法:

-(void)moviePlayerPreloadDidFinish:(NSNotification*)notification{ 
    //添加你的處置代碼 
}  

你會不雅察到以下告訴:
1.MPMoviePlayerContentPreloadDidFinishNotification
當片子播放器停止對內容的預加載後收回。由於內容可以在僅加載了一部門的情形下播放,所以這個告訴能夠在曾經播放後才收回。
2.MPMoviePlayerScallingModeDidChangedNotification
當用戶轉變了片子的縮放形式後收回。用戶可以點觸縮放圖標,在全屏播放和窗口播放之間切換。
3.MPMoviePlayerPlaybackDidFinishNotification
當片子播放終了或許用戶按下了Done按鈕後收回。

MPMediaPickerController拔取當地音

MPMediaPickerController 與 UIImagePickerController 相似,許可用戶從音樂庫當選取音樂、播客、音頻書。 
1、創立

MPMediaPickerController *mpc = [[MPMediaPickerControlleralloc]initWithMediaTypes:MPMediaTypeMusic]; 
   mpc.delegate = self;//拜托 
   mpc.prompt =@"Please select a music";//提醒文字 
   mpc.allowsPickingMultipleItems=NO;//能否許可一次選擇多個
 
上述代碼創立了一個 MPMediaPickerController 並設置了相干屬性。個中初始化的時刻有一個參數是媒體類型,媒體類型可所以上面這些值:

enum { 
    // audio 
    MPMediaTypeMusic        = 1 << 0, 
    MPMediaTypePodcast      = 1 << 1, 
    MPMediaTypeAudioBook    = 1 << 2, 
    MPMediaTypeAudioITunesU = 1 << 3, // available in IOS 5.0 
    MPMediaTypeAnyAudio     = 0x00ff, 
     
    // video (available in IOS 5.0) 
    MPMediaTypeMovie        = 1 << 8, 
    MPMediaTypeTVShow       = 1 << 9, 
    MPMediaTypeVideoPodcast = 1 << 10, 
    MPMediaTypeMusicVideo   = 1 << 11, 
    MPMediaTypeVideoITunesU = 1 << 12, 
    MPMediaTypeAnyVideo     = 0xff00, 
     
    MPMediaTypeAny          = ~0 
}; 
typedef NSInteger MPMediaType; 

2、拜托函數

- (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection{ 
    /*insert your code*/ 
    for (  MPMediaItem* itemin [mediaItemCollection items]) { 
    } 
    [selfdismissModalViewControllerAnimated:YES]; 
    [mediaPicker release]; 


在下面這個函數裡你可以處置所拔取的內容。上面這個函數擔任處置選中後撤消的舉措:

-(void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker{ 
    /*insert your code*/ 
    [selfdismissModalViewControllerAnimated:YES]; 
    [mediaPicker release]; 
}

3、顯示
你可以在任何須要顯示的時刻挪用上面代碼:

[selfpresentModalViewController:mpc animated:YES]; 

4、症結點
看完下面的代碼你能夠明確了,然則又感到沒明確。為何呢?看第一個回調函數就曉得了,回調函數傳參似乎不熟悉。 MPMediaItemCollection 的對象的items 就是用戶選擇項的聚集。每項都是MPMediaItem 類的成員,並可以查詢其屬性值。屬性太多,我就紛歧一列出了,你去看MPMediaItem類的頭文件或許官方文檔就明確了。

【詳解iOS運用中播放當地視頻和拔取當地音頻的組件用法】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved