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