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. SDL_PingGe 1.2

    加入了像素填充函数,必须要在一个指定颜色的边界范围内,边界必须没有缺口. 加入了鼠标类 /* typedef void (*FUNCTION)(void); HMODULE HDll; HDll = ...

  2. homebrew介绍

    对于一个习惯了在 Ubuntu 的终端上通过 apt-get 来安装工具软件的我来说,也希望在Mac上找到类似的工具,能很方便的一条命令就能安装所需的软件,而不用手工的去查找下载编译,或者是折腾安装所 ...

  3. [MongoDB] Introduce to MongoDB

    1. Use or create a database: use wandRecorder You will use keyword to create or fetch a exicting dat ...

  4. 【剑指offer】链表倒数第k个节点

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25662121 在Cracking the Code Interview上做过了一次,这次在 ...

  5. Zend Studio 10正式版破解(2013-02-26更新)

    Zend Studio 10正式版注册破解(2013-02-26完成更新) 1.以下方法仅供技术交流学习,请勿非法使用,如长期使用请支持购买正版. 2.若你还没有最新安装程序? ZendStudio ...

  6. Android AIDL图解

      代码来自:http://www.cnblogs.com/mandroid/archive/2011/02/26/1965428.html     (XXX.AIDL自动生成的IXXX.java类中 ...

  7. el和jstl

    <%@page import="cn.bdqn.bean.News"%> <%@ page language="java" import=&q ...

  8. css03复合选择器

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  9. (转)HTML特殊字符

    HTML 原始码 显示结果 描述 < < 小於号或显示标记 > > 大於号或显示标记 & & 可用於显示其它特殊字符 " " 引号 ® ® ...

  10. socket.io 中文手册 socket.io 中文文档

    socket.io 中文手册,socket.io 中文文档转载于:http://www.cnblogs.com/xiezhengcai/p/3956401.html 服务端 io.on('connec ...