您好,登錄后才能下訂單哦!
Using the Media Item Picker
使用媒體項(xiàng)選擇器
媒體項(xiàng)選擇器是封裝好的讓用戶從設(shè)備iPod庫(kù)中選擇媒體項(xiàng)的視圖控制器。使用選擇器非常簡(jiǎn)單:
1.指定一個(gè)控制器對(duì)象作為選擇器的代理。
2.從控制器調(diào)用選擇器。
3.當(dāng)用戶表示他們已經(jīng)完成,這個(gè)代理接收選擇的媒體項(xiàng)集合并且移走選擇器。
Setting Up a Media Item Picker Delegate
設(shè)置媒體項(xiàng)選擇器代理
想要設(shè)置控制器對(duì)象作為媒體項(xiàng)選擇器的代理,首先要添加一個(gè)協(xié)議的名字到控制器的頭文件的接口申明處,如下所示:
@interface myController : UIViewController <MPMediaPickerControllerDelegate> {
// interface declaration
}
接下來(lái),實(shí)現(xiàn)兩個(gè)來(lái)自協(xié)議的代理方法。第一個(gè)方法,如代碼清單3-1所示,響應(yīng)用戶選擇的一些媒體項(xiàng)。它移除選擇器且調(diào)用控制器的播放隊(duì)列的更新方法。
代碼清單 3-1 響應(yīng)一個(gè)新的從選擇器獲得的媒體項(xiàng)集合
- (void) mediaPicker: (MPMediaPickerController *) mediaPicker
didPickMediaItems: (MPMediaItemCollection *) collection {
[self dismissModalViewControllerAnimated: YES];
[self updatePlayerQueueWithMediaCollection: collection];
}
如何更新播放隊(duì)列詳見(jiàn) Listing 2-5.
第二個(gè)選擇器的代理方法處理用戶點(diǎn)擊完成但沒(méi)有選擇任何項(xiàng)目的情況。代碼清單3-2是這種方法的基本實(shí)現(xiàn)。
代碼清單 3-2 響應(yīng)如果用戶取消選擇器
- (void) mediaPickerDidCancel: (MPMediaPickerController *) mediaPicker {
[self dismissModalViewControllerAnimated: YES];
}
Displaying a Media Item Picker
顯示一個(gè)媒體項(xiàng)選擇器
代碼清單3-3顯示了如何配置和顯示一個(gè)媒體項(xiàng)選擇器——包括建立作為選擇器代理的控制器對(duì)象。
代碼清單 3-3 顯示一個(gè)媒體項(xiàng)選擇器
MPMediaPickerController *picker =
[[MPMediaPickerController alloc]
initWithMediaTypes: MPMediaTypeAnyAudio]; // 1
[picker setDelegate: self]; // 2
[picker setAllowsPickingMultipleItems: YES]; // 3
picker.prompt =
NSLocalizedString (@"Add songs to play",
"Prompt in media item picker");
[myController presentModalViewController: picker animated: YES]; // 4
[picker release];
代碼實(shí)現(xiàn)了以下功能:
1.Creates a media item picker. The parameter indicates the sort of media items to display.創(chuàng)建一個(gè)媒體項(xiàng)選擇器。參數(shù)表示媒體項(xiàng)的顯示排序。 詳細(xì)的選項(xiàng)參看 Media Item Type Flags 枚舉類型。
2.將代理設(shè)置為你的控制器對(duì)象。
3.指定用戶可以選擇多個(gè)項(xiàng)。默認(rèn)行為是不允許多選。
4.Displays the picker. 顯示選擇器。myController對(duì)象保留它所以你之后一定要釋放它。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。