在android中采集音频的api是android.media.AudioRecord类
其中构造器的几个参数就是标准的声音采集参数
以下是参数的含义解释
public AudioRecord (int audioSource, int sampleRateInHz, int channelConfig, int audioFormat, int bufferSizeInBytes)
Since: API Level 3
Class constructor.
Parameters
audioSource
the recording source. See MediaRecorder.AudioSource for recording source definitions.
音频源:指的是从哪里采集音频。这里我们当然是从麦克风采集音频,所以此参数的值为MIC
sampleRateInHz
the sample rate expressed in Hertz. Examples of rates are (but not limited to) 44100, 22050 and 11025.
采样率:音频的采样频率,每秒钟能够采样的次数,采样率越高,音质越高。给出的实例是44100、22050、11025但不限于这几个参数。例如要采集低质量的音频就可以使用4000、8000等低采样率。
channelConfig
describes the configuration of the audio channels. See CHANNEL_IN_MONO and CHANNEL_IN_STEREO
声道设置:android支持双声道立体声和单声道。MONO单声道,STEREO立体声
audioFormat
the format in which the audio data is represented. See ENCODING_PCM_16BIT and ENCODING_PCM_8BIT
编码制式和采样大小:采集来的数据当然使用PCM编码(脉冲代码调制编码,即PCM编码。PCM通过抽样、量化、编码三个步骤将连续变化的模拟信号转换为数字编码。) android支持的采样大小16bit 或者8bit。当然采样大小越大,那么信息量越多,音质也越高,现在主流的采样大小都是16bit,在低质量的语音传输的时候8bit 足够了。
bufferSizeInBytes
the total size (in bytes) of the buffer where audio data is written to during the recording. New audio data can be read from this buffer in smaller chunks than this size. See getMinBufferSize(int, int, int) to determine the minimum required buffer size for the successful creation of an AudioRecord instance. Using values smaller than getMinBufferSize() will result in an initialization failure.
采集数据需要的缓冲区的大小,如果不知道最小需要的大小可以在getMinBufferSize()查看。
采集到的数据保存在一个byteBuffer中,可以使用流将其读出。亦可保存成为文件的形式
分享到:
相关推荐
Android 使用 AudioRecord 和 AudioTrack 完成音频PCM数据的采集和播放,并读写音频wav文件。 封装好的Java代码,可同时录制PCM和WAV文件。自己定义存储位置。 Android提供了AudioRecord和MediaRecord。MediaRecord...
Android平台Camera采集预览nv21格式数据,AudioRecord采集音频pcm数据,使用MediaCodec分别进行h264和AAC硬编码,通过MediaMuxer合成MP4
Android AudioRecord和MediaRecorder录音并实现了实时获取音量大小 看代码就知道了
Android局域网音频通信程序,利用AudioRecord采集,AudioTrack播放。程序通过无线局域网和2个android平板的测试,效果良好
本 demo主要音频的录制和播放分别使用两个AsyncTask来完成,时时录制并外放声音实现助听,时时录制存储成pcm文件,另外更复杂的一个项目实现了时时录制、时时存储pcm裸文件、时时外放声音、时时绘制曲线图,提供调节...
在 Android 系统中,一般使用 AudioRecord 或者 MediaRecord 来采集音频。 AudioRecord 是一个比较偏底层的API,它可以获取到一帧帧 PCM 数据,之后可以对这些数据进行处理。 而 MediaRecorder 是基于 AudioRecorder ...
测试demo, 使用Camera1和AudioRecord采集的音视频,编码成ACC和H264。使用MediaMuxer合成MP4,中间也将AudioRecord采集的pcm音频转成G711音频文件保存到SD卡中,也保存了H264编码文件。
主要介绍了Android中实时获取音量分贝值详解,本文讲解了基础知识、Android API、MediaRecorder、AudioRecord等内容,需要的朋友可以参考下
实现方法是: 1,使用android自带的API采集摄像头数据2,使用AudioRecord采集音频数据3,使用MediaCodec对视频和音频分别进行硬编码为H264码流和AAC码流4,然后使用ndk开发将编码后的数据通过librtmp发送出去 ...
3. AudioRecord采集音频PCM数据,同样利用MediaCodec编码成AAC数据 4. jrtplib库进行视频音频数据发送,本项目修改jrtplib库,添加了大数据切片功能,方便进行网络传输 5. ffmpeg对接收到的数据进行解码,利用ffmpeg...
该demo主要封装了安卓端录音和播放PCM数据的功能模块,通过AudioRecord进行录音采集PCM数据,通过AudioTrack进行PCM数据的播放。处理的是实时数据流而不是从文件中读取。 亲测可用哦!!
这个弊端在于他们不能实时采集并发送出去,所以,我们只能使用AudioRecord和AudioTrack来实现。 记得申明权限: <uses android:name=android.permission.MODIFY_AUDIO_SETTINGS> <uses-permission android:name...
Android平台通过AudioRecord采集PCM音频数据,使用libmp3lame库编码为MP3;使用Libmad库解码mp3文件为PCM数据,通过AudioTrack播放的完整DEMO
在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件 3.在 Android 平台使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 ...
Android平台Camera采集预览nv21格式数据,AudioRecord采集音频pcm数据,使用MediaCodec分别进行h264和AAC硬编码,通过MediaMuxer合成MP4
Android平台上使用AudioRecord采集音视频数据,通过MediaCodec对音视频实施硬编码,回调aac数据流 使用到的api 音频采集用到的api有:AudioRecord 编码用的是系统提供的API:MediaCodec (硬编码) 简单的pcm转aac ...
AudioDemoAndroid 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件:Android 音视频开发(三):使用 AudioTrack 播放PCM音频:使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现...
AudioRecord和MediaRecorder两种都可以录制音频,MediaRecorder基于文件录音,系统已实现大量的封装,集成了录音、编码、压缩等,支持少量的音频格式文件,操作起来更加简单,而AudioRecord基于字节流录音,...
在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件 在 Android 平台使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 ...