要想进行音频开发,我们首先要知道声音是什么,声音又是如何产生的,又有哪些特性,只有了解了这些基础知识,我们才能更好的上手开发。
声音:
音频:
以上是百度百科对声音和音频的专业解释,不管你们看没看懂,反正我是没看懂。根据初中的物理知识来说,声音是由震动产生,并通过某种介质传播,能被人耳识别的都称之为声音(音频),而音频则为声音的更专业称呼。
声音的属性:
音量:音量比较好理解,就是声音的响度,人耳主观感知上声音的强弱。
音调:音调就是人耳对不同频率的不同听觉感受,与频率和音量有关
音色:指各种声音的特色,与谐波成分有关。例如使用小提琴和钢琴演奏同一首曲目,同样的响度,但人耳可以分辨出是两种不同乐器(分出分不出小提琴和钢琴不知道,但是两种乐器肯定能听出来)
Android中音频开发:
在Android中开发音频应用(应用层)主要会使用这几个类
音频管理类:AudioManager.java
AudioManager是一个很重要的音频管理类,但它只提供给用户一个接口,实际上不参与任何事情,实际处理都在AudioService,AudioSystem中完成。
音频采集类:AudioRecord.java
实现音频PCM数据的采集
音频播放类:AudioTrack.java
实现音频PCM数据的播放
视频录像类:MediaRecord.java
可以实现mp3,mp4,amrnb,3gpp等格式的录制
视频播放类:MediaPlayer.java
实现视频的播放功能,支持格式由MP3,MP4,3gpp,,avi,flv等
解码类:MediaCodec.java
实现音视频编解码
AAC
AAC,全称Advanced Audio Coding,是一种专为声音数据设计的文件压缩格式。与MP3不同,它采用了全新的算法进行编码,更加高效,具有更高的“性价比”。利用AAC格式,可使人感觉声音质量没有明显降低的前提下,更加小巧。苹果ipod、诺基亚手机支持AAC格式的音频文件。