1. MPMediaPickerController 与 UIImagePickerController 类似,允许用户从音乐库中选取音乐、播客、音频书。

一、创建

  1. MPMediaPickerController *mpc = [[MPMediaPickerControlleralloc]initWithMediaTypes:MPMediaTypeMusic];
  2. mpc.delegate = self;//委托
  3. mpc.prompt =@"Please select a music";//提示文字
  4. mpc.allowsPickingMultipleItems=NO;//是否允许一次选择多个

上述代码创建了一个 MPMediaPickerController 并设置了相关属性。其中初始化的时候有一个参数是媒体类型,媒体类型可以是下面这些值:

  1. enum {
  2. // audio
  3. MPMediaTypeMusic        = 1 << 0,
  4. MPMediaTypePodcast      = 1 << 1,
  5. MPMediaTypeAudioBook    = 1 << 2,
  6. MPMediaTypeAudioITunesU = 1 << 3, // available in iOS 5.0
  7. MPMediaTypeAnyAudio     = 0x00ff,
  8. // video (available in iOS 5.0)
  9. MPMediaTypeMovie        = 1 << 8,
  10. MPMediaTypeTVShow       = 1 << 9,
  11. MPMediaTypeVideoPodcast = 1 << 10,
  12. MPMediaTypeMusicVideo   = 1 << 11,
  13. MPMediaTypeVideoITunesU = 1 << 12,
  14. MPMediaTypeAnyVideo     = 0xff00,
  15. MPMediaTypeAny          = ~0
  16. };
  17. typedef NSInteger MPMediaType;

二、委托函数

  1. - (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection{
  2. /*insert your code*/
  3. for (  MPMediaItem* itemin [mediaItemCollection items]) {
  4. }
  5. [selfdismissModalViewControllerAnimated:YES];
  6. [mediaPicker release];
  7. }

在上面这个函数里你可以处理所选取的内容。下面这个函数负责处理选中后取消的动作:

  1. -(void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker{
  2. /*insert your code*/
  3. [selfdismissModalViewControllerAnimated:YES];
  4. [mediaPicker release];
  5. }

三、显示

你可以在任何需要显示的时候调用下面代码:

  1. [selfpresentModalViewController:mpc animated:YES];

四、关键点

看完上面的代码你可能明白了,但是又感觉没明白。为什么呢?看第一个回调函数就知道了,回调函数传参好像不认识。 MPMediaItemCollection 的对象的items 就是用户选择项的集合。每一项都是MPMediaItem 类的成员,并可以查询其属性值。属性太多,我就不一一列出了,你去看MPMediaItem类的头文件或者官方文档就明白了。

MPMediaPickerController 选取本地音频--备用的更多相关文章

  1. iOS从零开始学习直播之音频1.播放本地音频文件

      现在直播越来越火,俨然已经成为了下一个红海.作为一个资深码农(我只喜欢这样称呼自己,不喜欢别人这样称呼我),我必须赶上时代的潮流,开始研究视频直播.发现视屏直播类的文章上来就讲拉流.推流.采集.美 ...

  2. AVAudioPlayer播放本地音频

    AVAudioPlayer苹果官方上说一般用于播放本地音频,不能用于播放网络上的音频. 具体的代码:先导入 #import <AVFoundation/AVFoundation.h> // ...

  3. (四)WebRTC手记之本地音频采集

    转自:http://www.cnblogs.com/fangkm/p/4374668.html 上一篇博文介绍了本地视频采集,这一篇就介绍下音频采集流程,也是先介绍WebRTC原生的音频采集,再介绍C ...

  4. WebRTC手记之本地音频采集

    转载请注明出处:http://www.cnblogs.com/fangkm/p/4374668.html 上一篇博文介绍了本地视频采集,这一篇就介绍下音频采集流程,也是先介绍WebRTC原生的音频采集 ...

  5. iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件

    iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 步骤 第一步:在 Proj ...

  6. iOS Dev (21) 用 AVPlayer 播放一个本地音频文件

    iOS Dev (21) 用 AVPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 前言 这篇文章与上一篇极其相似,要注 ...

  7. javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  8. iOS中音频的录制与播放(本地音频文件的播放)

    iOS功能开发涉及到音频处理时,最常见的时进行录音,以及音频文件的播放.停止播放等的操作.在开发中还要避免同一个音频文件,或不同音频文件之间的处理,比如说正在播放A音频时,可以停止播放A音频,也可以播 ...

  9. EasyPlayerPro windows播放器本地音频播放音量控制实现

    背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打 ...

随机推荐

  1. Java学习日记-2.5 关于0和无穷

    1. 无穷 Java中将无穷定义为浮点数,分为正负无穷,分别为POSITIVE_INFINITY和NEGATIVE_INFINITY 2. null null在java中可以理解为一个特殊的引用类型, ...

  2. UVa 10025: The ? 1 ? 2 ? ... ? n = k problem

    这道题仔细思考后就可以得到比较快捷的解法,只要求出满足n*(n+1)/2 >= |k| ,且n*(n+1)/2-k为偶数的n就可以了.注意n==0时需要特殊判断. 我的解题代码如下: #incl ...

  3. windows下的类似grep命令findstr

    windows下的类似grep命令findstr findstr后面跟的字符串不能加引号 C:\Users\Administrator>netstat -an|findstr 10.1.151 ...

  4. windows 编程 —— 菜单以及其他资源

    目录: 1.资源的种类 2.资源的定义方法(IDE:VC++) 3.资源的获取 4.资源的使用与消息处理函数   1.资源的种类 windows 的常用的资源包括:图示 .游标. 字符串. 自订资源. ...

  5. 遍历INI文件和删除指定域内容

    主要还是使用的INI文件操作的API,只是把参数修改下. BOOL WINAPI WritePrivateProfileString( __in LPCTSTR lpAppName, __in LPC ...

  6. Java中迭代列表中数据时几种循环写法的效率比较

    Java中经常会用到迭代列表数据的情况,本文针对几种常用的写法进行效率比较.虽然网上已经有了类似的文章,但是对他们的结论并不认同. 常见的实现方法: 1.for循环: for(int i = 0; i ...

  7. php中运用GD库实现简单验证码

    昨天学习了运用php的GD库进行验证码的实现. 首先可以用phpinfo()函数看一下GD库有没有安装,我用的wampserver是自动给安装的. 主要的步骤是: 1.生成验证码图片 2.随机生成字符 ...

  8. sql server 性能计数器

    常规计数器 收集操作系统服务器的服务器性能信息,包括Processor.磁盘.网络.内存 Processor 处理器 1.1 % Processor Time指处理器用来执行非闲置线程时间的百分比.通 ...

  9. ASP.NET-FineUI开发实践-5

    1.tree的右键事件和单击事件 页面就不写了,准备一个树和一个菜单控件,随便写点啥 JS:注意注释 var menuSettings = F('menuSettings'); var tree = ...

  10. Javascipt 时间格式化(日期)

    Date.prototype.format =function(format){ var o = { "M+" : this.getMonth()+1, //month " ...