MPMediaPickerController 选取本地音频--备用
- MPMediaPickerController 与 UIImagePickerController 类似,允许用户从音乐库中选取音乐、播客、音频书。
一、创建
- MPMediaPickerController *mpc = [[MPMediaPickerControlleralloc]initWithMediaTypes:MPMediaTypeMusic];
- mpc.delegate = self;//委托
- mpc.prompt =@"Please select a music";//提示文字
- mpc.allowsPickingMultipleItems=NO;//是否允许一次选择多个
上述代码创建了一个 MPMediaPickerController 并设置了相关属性。其中初始化的时候有一个参数是媒体类型,媒体类型可以是下面这些值:
- enum {
- // audio
- MPMediaTypeMusic = 1 << 0,
- MPMediaTypePodcast = 1 << 1,
- MPMediaTypeAudioBook = 1 << 2,
- MPMediaTypeAudioITunesU = 1 << 3, // available in iOS 5.0
- MPMediaTypeAnyAudio = 0x00ff,
- // video (available in iOS 5.0)
- MPMediaTypeMovie = 1 << 8,
- MPMediaTypeTVShow = 1 << 9,
- MPMediaTypeVideoPodcast = 1 << 10,
- MPMediaTypeMusicVideo = 1 << 11,
- MPMediaTypeVideoITunesU = 1 << 12,
- MPMediaTypeAnyVideo = 0xff00,
- MPMediaTypeAny = ~0
- };
- typedef NSInteger MPMediaType;
二、委托函数
- - (void)mediaPicker:(MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection{
- /*insert your code*/
- for ( MPMediaItem* itemin [mediaItemCollection items]) {
- }
- [selfdismissModalViewControllerAnimated:YES];
- [mediaPicker release];
- }
在上面这个函数里你可以处理所选取的内容。下面这个函数负责处理选中后取消的动作:
- -(void)mediaPickerDidCancel:(MPMediaPickerController *)mediaPicker{
- /*insert your code*/
- [selfdismissModalViewControllerAnimated:YES];
- [mediaPicker release];
- }
三、显示
你可以在任何需要显示的时候调用下面代码:
- [selfpresentModalViewController:mpc animated:YES];
四、关键点
看完上面的代码你可能明白了,但是又感觉没明白。为什么呢?看第一个回调函数就知道了,回调函数传参好像不认识。 MPMediaItemCollection 的对象的items 就是用户选择项的集合。每一项都是MPMediaItem 类的成员,并可以查询其属性值。属性太多,我就不一一列出了,你去看MPMediaItem类的头文件或者官方文档就明白了。
MPMediaPickerController 选取本地音频--备用的更多相关文章
- iOS从零开始学习直播之音频1.播放本地音频文件
现在直播越来越火,俨然已经成为了下一个红海.作为一个资深码农(我只喜欢这样称呼自己,不喜欢别人这样称呼我),我必须赶上时代的潮流,开始研究视频直播.发现视屏直播类的文章上来就讲拉流.推流.采集.美 ...
- AVAudioPlayer播放本地音频
AVAudioPlayer苹果官方上说一般用于播放本地音频,不能用于播放网络上的音频. 具体的代码:先导入 #import <AVFoundation/AVFoundation.h> // ...
- (四)WebRTC手记之本地音频采集
转自:http://www.cnblogs.com/fangkm/p/4374668.html 上一篇博文介绍了本地视频采集,这一篇就介绍下音频采集流程,也是先介绍WebRTC原生的音频采集,再介绍C ...
- WebRTC手记之本地音频采集
转载请注明出处:http://www.cnblogs.com/fangkm/p/4374668.html 上一篇博文介绍了本地视频采集,这一篇就介绍下音频采集流程,也是先介绍WebRTC原生的音频采集 ...
- iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件
iOS Dev (20) 用 AVAudioPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 步骤 第一步:在 Proj ...
- iOS Dev (21) 用 AVPlayer 播放一个本地音频文件
iOS Dev (21) 用 AVPlayer 播放一个本地音频文件 作者:CSDN 大锐哥 博客:http://blog.csdn.net/prevention 前言 这篇文章与上一篇极其相似,要注 ...
- javaCV开发详解之6:本地音频(话筒设备)和视频(摄像头)抓取、混合并推送(录制)到服务器(本地)
javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...
- iOS中音频的录制与播放(本地音频文件的播放)
iOS功能开发涉及到音频处理时,最常见的时进行录音,以及音频文件的播放.停止播放等的操作.在开发中还要避免同一个音频文件,或不同音频文件之间的处理,比如说正在播放A音频时,可以停止播放A音频,也可以播 ...
- EasyPlayerPro windows播放器本地音频播放音量控制实现
背景描述 作为一个播放器, 除了能播放视频和声音外,音量控制是绝对不能缺少的功能; 本文在音视频播放的基础上,增加对音量的控制: 实现流程 调用mixerGetDevCaps获取音频输出设备列表; 打 ...
随机推荐
- Number of 1 Bits——LeetCode
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also know ...
- 聚类算法:K均值、凝聚层次聚类和DBSCAN
聚类分析就仅根据在数据中发现的描述对象及其关系的信息,将数据对象分组(簇).其目标是,组内的对象相互之间是相似的,而不同组中的对象是不同的.组内相似性越大,组间差别越大,聚类就越好. 先介绍下聚类的不 ...
- 转自http://blog.sina.com.cn/daylive——C++ STL map
Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作! 1.map最基本的构造函数: map<string ...
- tengine rpm制作
最近又在centos6.4下折腾tengine了,刚好不久前看了rpm包的制作方法,所以又有了搞个rpm包的想法. 1 安装centos的开发环境集成包及tengine的依赖包 1 yum group ...
- HDU 3016 Man Down (线段树+dp)
HDU 3016 Man Down (线段树+dp) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- 【Cocos2d-X开发学习笔记】第10期:渲染框架之几何图形的绘制
本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一.图形的绘制 有时为了调试游戏,我们常常会需要 ...
- yum源的配置
什么是repo文件?repo文件是Fedora中yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的 ...
- SOAP详解
1. SOAP简介 1.1应用背景 对于应用程序开发来说,使程序之间进行因特网通信是很重要的.目前的应用程序通过使用远程过程调用(RPC)在诸如 DCOM 与 CORBA 等对象之间进行通信,但是 H ...
- Object -C 数组 -- 笔记
// // main.m // Array // // Created by facial on 23/8/15. // Copyright (c) 2015 facial_huo. All ...
- Unity3D基础学习之AssetBundle 资源包创建与加载
前几天做了AssentBundle的例子,遇到了问题,在论坛上问了三天都没人解答,最后在一个朋友的帮助下解决了.下面介绍AssentBundle. AssetBundles让你通过WWW类流式加载额外 ...