《iOS组件与框架——iOS SDK高级特性剖析》——第6章,第6.3节媒体选择器
本节书摘来自异步社区《iOS组件与框架——iOS SDK高级特性剖析》一书中的第6章,第6.3节媒体选择器,作者 【美】Kyle Richter , Joe Keeley,更多章节内容可以访问云栖社区“异步社区”公众号查看
6.3 媒体选择器
iOS组件与框架——iOS SDK高级特性剖析
要让用户能够选择要欣赏的歌曲,最简单的方式是让他能够访问MPMediaPickerController,如图6.2所示。MPMediaPickerController让用户能够浏览艺术家、歌曲、播放列表和专辑,以指定要播放的歌曲。要使用MPMediaPickerController,必须遵守委托协议MPMediaPicker ControllerDelegate,它定义了两个必须实现的方法。第一个是mediaPicker:didPickMediaItems:,在用户选择了要欣赏的歌曲时被调用。将通过一个MPMediaItemCollection对象返回选定的歌曲,MPMusicPlayerController可直接将这个对象作为参数来调用setQueueWith ItemCollection:。为MPMusicPlayerController设置新队列后,就可开始播放选定歌曲了。用户选择歌曲后,MPMediaPickerController不会自动关闭,您必须显式地调用dismissViewControllerAnimated: completion:来关闭它。
![b274f06415b56a171209af6d63b449f21cece6b6](https://yqfile.alicdn.com/b274f06415b56a171209af6d63b449f21cece6b6.png)
如果用户在MPMediaPickerController中取消了选择,将调用委托方法mediaPickerDidCancel:。在这个方法中,您必须关闭MPMediaPickerController。
![bd4278debd8c21667c64f07015d6d7086432c94f](https://yqfile.alicdn.com/bd4278debd8c21667c64f07015d6d7086432c94f.png)
实现委托方法后,便可创建MPMediaPickerController实例了。分配和初始化MPMediaPicker Controller时,必须指定一个表示媒体类型的参数。表6.2列出了这个参数的所有可能取值。请注意,同一个媒体项可能归属于多种媒体类型。可给MPMediaPickerController实例指定一些属性,如支持多选及显示提示,如图6.2所示。还有一个Boolean属性,它指定是否显示iCloud媒体项,默认为YES。
![8fb4dfbbe52c9982ad68632de71d4d88d1654239](https://yqfile.alicdn.com/8fb4dfbbe52c9982ad68632de71d4d88d1654239.png)
![07f88528a89c30932587acd3d9a8c16fd5b39b89](https://yqfile.alicdn.com/07f88528a89c30932587acd3d9a8c16fd5b39b89.png)
使用MPMediaPickerController让用户选择要播放的歌曲时,这些就是需要完成的所有步骤。然而,在很多情况下,都必须提供自定义的用户界面或在没有界面的情况下选择歌曲,这将在下一节介绍。
《Android程序设计》一1.3 SDK的组件 本节书摘来自华章出版社《Android程序设计》一 书中的第1章,第1.3节,作者:G. Blake Meike, Masumi Nakamura,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
《iOS组件与框架——iOS SDK高级特性剖析》——导读 本节书摘来自异步社区《iOS组件与框架——iOS SDK高级特性剖析》一书中的目录,作者 【美】Kyle Richter , Joe Keeley,更多章节内容可以访问云栖社区“异步社区”公众号查看
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十八)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(八)
- [ IOS ] iOS-控制器View的创建和生命周期
- iOS开发之多图片无缝滚动组件封装与使用
- ios之UIScrollerView滚动视图
- iOS最简单获取IP方法
- IOS 30多个iOS常用动画,带详细注释
- Ios开发之 -- js和ios的交互
- iOS开发UI篇—ios应用数据存储方式(归档)
- iOS开发UI篇—ios应用数据存储方式(偏好设置)
- IOS中 浅谈iOS中MVVM的架构设计与团队协作
- 使用github管理iOS分布式项目开发
- 可能是目前市面上唯一能够支持全平台的RTMP推流组件:Windows、Linux、Android、iOS、ARM
- iOS 小组件 widget
- iOS运行时文档解析(Runtime oc消息转发 objc_msgSend 动态加载方法)
- ios蓝牙工具类oc版(附下载)
- iOS开发之获取沙盒路径
- 华为:鸿蒙OS不是安卓和iOS的拷贝;胡润世界500强榜发布:苹果第一,腾讯第六