音频(6):iPod Library Access Programming Guide:Using the Media Item Picker
2014-02-20 10:14
417 查看
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对象保留它所以你之后一定要释放它。
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对象保留它所以你之后一定要释放它。
相关文章推荐
- 音频(7):iPod Library Access Programming Guide:Using the iPod Library
- 音频(5):iPod Library Access Programming Guide:Using Media Playback
- 音频(4):iPod Library Access Programming Guide:About iPod Library Access
- 音频(3):iPod Library Access Programming Guide:Introduction
- Using the iPod Library
- Network socket programming using the NetLib library
- Collection View Programming Guide for iOS-Using the Flow Layout
- View Controller Programming Guide for iOS---(八)---Using View Controllers in the Responder Chain
- Collection View Programming Guide for iOS---(四)---Using the Flow Layout
- Cloning UIImagePickerController using the Assets Library Framework--多选图片ios
- Intel-x86-System-Programming-Guide, Part 1,Chapter 2.3 SYSTEM FLAGS AND FIELDS IN THE EFLAGS REGISTER
- Using the Enterprise Library Validation Application Block in ASP.NET - Part II
- Description Resource Path Location Type Access restriction: The constructor LoadLibraryAction(String
- load the C runtime library without using a manifest
- A step-by-step guide to the use of the Intel OpenCV library and the Microsoft DirectShow technology
- eclipse Access restriction: The type 'xxx' is not API (restriction on required library '')
- Elements of Programming Style -- The C++ Style Guide
- The model item passed into the dictionary is of type 'System.Collections.Generic.List`1[BMS.DataAccess.Models.ServiceTyp
- You are not using the latest Platform SDK header/library