温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 音频(6):iPod Library Access Programming Guide:Using the Media Item Picker

音频(6):iPod Library Access Programming Guide:Using the Media Item Picker

发布时间:2020-07-04 05:19:01 阅读:417 作者:三无青年 栏目:开发技术
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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对象保留它所以你之后一定要释放它。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×