一、音频基础知识:
1、音频文件的组成:文件格式+音频编码,文件格式用于形容文件本身的格式,音频编码是通过不同编码格式编码后得到的音频数据。
2、音频质量的标准:声卡对声音的处理质量可以用三个基本参数来衡量,即采样频率、采样位数和声道数。采样频率是指单位时间内的采样次数,采样频率越大,采样点之间的间隔就越小,数字化后得到的声音就越逼真。采样位数是记录每次采样值数值大小的位数,采样位数通常有8bits和16bits两种,采样位数越大,所能记录声音的变化度越细腻,相应的数据量就越大。声道数是指处理的声音是单声道还是立体声,单声道在声音处理过程中只有单数据流,而立体声则需要左、右声道的两个数据流;立体声效果好,但是立体声的数据量比单声道的数据量加倍。
3、音频数据量大小的计算公式:数据量(字节/秒)=(采样频率(hz)*采样位数(bit)*声道数)/8.
4、线性PCM表示线性脉冲编码调制,主要是描写用于将模拟声音数据转换成数字格式的技术。简单的说也就是未压缩的数据,因为数据是未压缩的,所以可以最快速的播放出来。
二、音频相关框架概述
iOS系统提供数种播放或录制音频的方式供您选用,在选择音频技术的时候,请记住,要尽可能地选取高级框架,因为它们可以简化播放音频所需的工作。下面从高级到低级列出iOS系统提供的框架,媒体播放器框架 (MediaPlayer.framework)提供的是最高级的接口:
- 媒体播放器框架 (MediaPlayer.framework)。该框架可以让访问用户的iTume库变得很容易,并且支持播放曲目和播放列表。
- AV Foundation框架。它提供一组简单易用的Objective-C接口,可用于管理音频的播放或录制。.
- OpenAL框架。它提供一组跨平台,用于发布方位音频的接口。
- Core Audio框架。Core Audio 是IOS和 MAC 的关于数字音频处理的基础,它提供应用程序用来处理音频的一组软件框架,所有关于IOS音频开发的接口都是由Core Audio来提供或者经过它提供的接口来进行封装的,按照官方的说法是集播放、处理、录制为一体的专业技术,通过它我们的程序可以同时录制,播放一个或者多个音频流,自动适应耳机,蓝牙耳机等硬件,响应各种电话中断,静音,震动等,甚至提供3D效果的音乐播放。
三、视频相关框架概述
iOS系统提供多种播放或录制视频的方式供您选用,选择视频技术的时候,请尽可能选择高级框架,因为高级框架可以简化为提供对某种功能的支持所需的工作。下面从高级到低级列出iOS系统提供的框架,其中,媒体播放器框架 (MediaPlayer.framework)提供最高级的接口:
- 媒体播放器框架 (MediaPlayer.framework),它提供一组易于使用的接口,可用于播放应用程序中全屏或部分屏的电影。
- AV Foundation框架,它提供一组Objective-C接口,可以对电影的捕捉和播放进行管理。
- Core Media框架,它对较高级框架使用的底层类型进行描述,同时也提供一些底层接口,它们用于对媒体进行处理。
媒体播放器框架
媒体播放器框架 (MediaPlayer.framework)为应用程序播放视频和音频内容提供高级支持。通过该框架,您就可以使用标准系统界面播放音频、视频。
iOS 3.0增加了对访问用户iTune库的支持。因此,您可以利用该框架播放音乐曲目、播放列表、搜索歌曲并向用户显示媒体选取界面。在 iOS 3.2系统中,该框架发生了变化,开始支持在可改变尺寸的视图中播放视频(之前只支持全屏)。另外还新增数个界面用于支持配置和管理电影播放。
参考资料:
1、iOS
音频开发之CoreAudio:http://www.cnblogs.com/javawebsoa/archive/2013/05/20/3089511.html
2、ios开发笔记之音频:http://blog.sina.com.cn/s/blog_7a162d000101b9w3.html
3、应用于osx和iOS的高性能音频框架:http://hao.jobbole.com/novocaine/?utm_source=www.jobbole.com&utm_medium=homepage-resources