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