在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数据,使_AVMediaCodecMP4
在音频通信程序中,`AudioRecord`扮演着采集音频信号的角色。开发者需要设置采样率、通道数和音频格式,然后启动录音,将捕获的数据送入网络传输。 2. **AudioTrack**: 对应地,`AudioTrack`类用于播放音频数据。...
本项目中,开发者使用了Camera API来捕获视频数据,AudioRecord类来采集音频,MediaCodec进行硬件编码,最后通过MediaMuxer将编码后的音视频流合成为一个完整的MP4文件。以下是对这些技术的详细解析: 1. **Camera ...
在Android平台上,AudioRecord类是用于实现低级别音频录制的核心组件。它允许开发者直接与设备的音频硬件交互,提供了一种高效且灵活的方式来捕获声音数据。本文将深入解析AudioRecord的使用方法及其在语音质量评测...
Android平台通过AudioRecord采集PCM音频数据,使用libmp3lame库编码为MP_LAME-Libmad-Android
`AudioRecord`是Android提供的一个音频输入类,它可以捕获系统音频硬件的原始音频数据。本文将深入探讨如何利用`AudioRecord`来实现暂停和恢复录音的功能,这对于开发具有高度用户交互性的音频应用非常有用。 ### ...
在Android系统中,`AudioRecord`是用于音频输入的关键组件,它允许应用程序捕获音频数据。这个`android_media_AudioRecord.rar`压缩包文件显然包含了关于如何在Linux设备上使用`AudioRecord`类的一些详细信息,特别...
在给定的标题和描述中提到的"Android使用AudioRecord判断是否有音频输入",主要是指利用AudioRecord类获取音频数据,并通过分析这些数据来判断是否存在声音输入。下面将详细介绍这一过程。 首先,我们需要创建一个...
AudioRecord类是Android SDK中的一个关键组件,它为应用程序提供了从设备麦克风获取原始音频数据的能力。你可以设置录音的采样率、通道数和位深度等参数,以满足不同的录音质量需求。 2. **初始化AudioRecord**: ...
`AudioRecord`类是Android SDK中的一个核心类,它负责从麦克风获取原始的PCM(脉冲编码调制)音频数据。创建`AudioRecord`实例时,我们需要指定以下几个关键参数: - **音频源**:例如`MediaRecorder.AudioSource....
在Android操作系统中,AudioRecord是音频输入类,它允许开发者从设备的麦克风或其他音频输入源录制音频数据。这个类是Android SDK中的一个关键组件,用于实现各种与声音相关的应用程序,比如语音识别、录音机应用...
`AudioRecord`提供了对音频采样率、通道配置和位深度的控制,这些参数直接影响录制的质量和资源消耗。 ### 1. 初始化AudioRecord 在使用`AudioRecord`之前,我们需要创建一个实例并进行初始化。这通常包括以下步骤...
本 demo主要音频的录制和播放分别使用两个AsyncTask来完成,时时录制并外放声音实现助听,时时录制存储成pcm文件,另外更复杂的一个项目实现了时时录制、时时存储pcm裸文件、时时外放声音、时时绘制曲线图,提供调节...
Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件...
- **初始化AudioRecord对象**:使用上述参数创建AudioRecord实例。 - **开始录音**:调用`startRecording()`方法启动录音。 - **读取pcm数据**:通过`read()`方法获取音频数据,这些数据是以pcm格式存储的原始样本。...
本篇将深入探讨Android中的AudioRecord类,它是Android SDK提供的一种用于从设备麦克风录制音频的低级接口。通过AudioRecord,开发者可以直接操作音频数据流,实现高度自定义的音频处理功能。 一、AudioRecord概述 ...
在Android平台上,AudioRecord类是音频输入的核心组件,它允许开发者直接从硬件音频接口录制音频数据。这份"Android应用源码之AudioRecord.rar"压缩包很可能是包含了一个使用AudioRecord类进行音频录制的示例应用的...
在Android平台上,通过蓝牙采集音频是一项实用的技术,它允许设备之间进行无线音频传输,例如将手机连接到蓝牙耳机或扬声器进行音频播放。本文将深入探讨如何在Android应用程序中实现这一功能,主要关注以下几个方面...
AudioRecord类是Android SDK提供的一种核心API,用于实现低级别的音频数据录制。本文将深入探讨AudioRecord类的使用、功能及其在实际开发中的应用。 一、AudioRecord概述 AudioRecord是Android提供的原生录音API,...