Android 音频开发

Posted Just_Paranoid

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 音频开发相关的知识,希望对你有一定的参考价值。

常见音频文件格式

MP3、FLAC、WAV、AAC、M4A、OGG、WMA、APE、AMR、M4R、MP2、WV、AIFF、OPUS、RA、AU

常见的无损格式有ape,wav,flac三种,而aac只能算高品质而已。其优缺:所有的无损格式本质都是wav的压缩,在播放时会转回wav。因此直接播放wav有助于节约内存,亦更流畅。但缺点是文件过大,一般在30兆以上。而ape和flac相对较小

格式编解码器
wmaWindows Media Auido 2、MPEG ACC Audio
wavPCM S16 LE
auPCM S16 BE。AU这是为UNIX系统开发的一种音乐格式,和WAV非常相像,在大多数的音频编辑软件中也都支持它们这几种常见的音乐格式。
aiffPCM S16 BE、PCM S16 LE
raRealAudio 1.0
opusOpus Audio
oggVorbis Audio
mp2 mp3MPEG Audio layer 1/2
m4rMPEG ACC Audio
amrAMR narrow band
wvWavPack是 David Bryant 开发的一个自由、开放源代码的无损音频压缩格式
apeMonkey’s Audio是一种无损压缩技术的软件,常被用来解压缩APE格式的无损音乐文件,APE是流行的数字音乐文件格式之一。与有损音频压缩(如MP3、Ogg Vorbis或者AAC等)不同的是,Monkey’s Audio压缩时不会丢失数据。
flacFLAC是一个完全公开、完全免费的音频格式,没有版权,任何人都有权随意使用,不用担心因为使用了FLAC格式而造成侵权。

音频测试文件下载
https://docs.espressif.com/projects/esp-adf/en/latest/design-guide/audio-samples.html

在线音频转化工具
https://convertio.co/zh/audio-converter/

mplayer官网提供测试文件
http://samples.mplayerhq.hu/

VLC媒体播放器(支持超多编码)

https://www.videolan.org/vlc/

FFmpeg 开源编解码库

https://github.com/FFmpeg/FFmpeg

Android音频开发:音频基础知识


一、Android音频开发(一):音频基础知识
二、Android音频开发(二):录制音频(WAV及MP3格式)
三、Android音频开发(三):使用ExoPlayer播放音频
四、Android音频开发(四):音频播放模式
五、Android音频开发(五):感应(息屏/亮屏)管理

附GitHub源码:MultimediaExplore


 

1、采样频率:
    一秒钟内采样的点(次)数称为采样频率,采样频率越高越接近原始信号。常用的音频采样频率有:8kHz、16kHz、44.1kHz、96kHz、192kHz等。

2、采样位宽【采样精度 / 位深度】:
    采样位数就是采样值用多少位0和1来表示,也叫采样精度,用的位数越多就越接近真实声音。 常见的位宽有:8bit 或者16bit。

3、声道:
    语音一般只有一个声道,音乐有两个声道,环绕立体声可以有多个声道。

4、编解码:
    音频采样过程也叫做脉冲编码调制编码,即PCM(Pulse Code Modulation)编码。
    编码过程:模拟信号->抽样->量化->编码->数字信号.

5、压缩:
    <1>无损编码:如能够达到最高保真水平的就是PCM编码、WAV格式。
    <2>有损编码:如MP3格式.
    MP3格式是按1:12压缩保存的,所以MP3格式大小等于WAV的1/12

6、码率:
     又称为比特率,是指一个音频流中每秒钟能通过的数据量。  
     码率 = 采样频率(44.1k)* 采样位数(16)* 声道个数(2)= 1411.2kbps。
     知道音频码率后,可求得整个音频文件的大小=时长(300s)*码率(1411.2)/1024/8=51.67M。

 7、常用音频格式:
    <1>WAV格式:音质高 无损格式 体积较大。
    <2>AAC格式:相对于 mp3,AAC 格式的音质更佳,文件更小,有损压缩。
    <3>AMR格式:压缩比比较大,但相对其他的压缩格式质量比较差,多用于人声,通话录音。
    <4>mp3格式:特点 使用广泛,有损压缩,牺牲了12KHz到16KHz高音频的音质。

以上是关于Android 音频开发的主要内容,如果未能解决你的问题,请参考以下文章

Android音视频开发学习MediaCodec API,完成音频AAC硬编硬解

Android音频开发:基础知识

Android 音视频开发:使用AudioRecord采集音频PCM并保存

什么APP可以把视频转成音频,Android的

android中如何代码压缩音频视频文件呢

Android音视频开发之如何合并音频和视频文件?