美文网首页
android AudioRecord音频采集与AudioTra

android AudioRecord音频采集与AudioTra

作者: minehdcxy | 来源:发表于2018-02-24 11:01 被阅读0次

AudioRecord 音频采集

一、参数相关

AudioRecord构造方法 官方解释

1:什么是采样率?

采样率(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,单位用赫兹(Hz)来表示。采样频率的倒数是采样周期(也称为采样时间),它表示采样之间的时间间隔。这里要注意不要将采样率与位速相混淆。

2:android音频采样率:

Android录音API AudioRecord的参数有一个是采样率,但Android对音频采样率做了限制,默认值是22050Hz,并且不能小于4000Hz,不能大于48000Hz,即采样率必须位于[4000,48000]hz之间。

3:什么音频通道?

android支持双声道立体声和单声道 CHANNEL_IN_MONO是单声道,在所有设备上支持,CHANNEL_IN_STEREO是双声道立体声。

4:PCM是什么?

自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码。即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。 android支持的采样大小16bit 或者8bit。当然采样大小越大,那么信息量越多,音质也越高,现在主流的采样大小都是16bit,在低质量的语音传输的时候8bit足够了。

5:BufferSizeBytes

采集下来的音频会存入缓冲区,这个时候就需要知道缓冲区的大小,新的音频数据不可以比这个尺寸更小。

二、音频采集实现:

先将音频数据通过物理设备读到buffer中,然后在将buffer中的内容写到file中。

音频采集代码

AudioTrack PCM音频播放

一、参数相关

1:构造方法


构造方法

2:参数问题

和AudioRecord 相同 仍然需要采样率(sampleRateInHz),通道(channelConfig),音频来源(audioFormat),最小缓冲区大小(bufferSizeInBytes)这个几个参数,同时增加了流类型和MODE(流媒体/静态缓冲区,两种模式)这两个参数.

官方参数解释

二、实现

现将pcm文件读到buffer中,然后在将buffer中的数据写到audioTrack中。

audioTrack pcm音频播放实现

相关文章

网友评论

      本文标题:android AudioRecord音频采集与AudioTra

      本文链接:https://www.haomeiwen.com/subject/ezhxxftx.html