MediaRecord与AudioRecord

      在Android中录音可以用MediaRecord录音,操作比较简单。但是不够专业,就是不能对音频进行处理。如果要进行音频的实时的处理或者音频的一些封装,就可以用AudioRecord来进行录音了。

实例

// 音频获取源 
private int audioSource = MediaRecorder.AudioSource.MIC;
// 设置音频采样率,44100是目前的标准,但是某些设备仍然支持22050,16000,11025
private static int sampleRateInHz = 44100;
// 设置音频的录制的声道CHANNEL_IN_STEREO为双声道,CHANNEL_CONFIGURATION_MONO为单声道
private static int channelConfig = AudioFormat.CHANNEL_IN_STEREO;
// 音频数据格式:PCM 16位每个样本。保证设备支持。PCM 8位每个样本。不一定能得到设备支持。
private static int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
private void init() {
Start = (Button) this.findViewById(R.id.start);
Stop = (Button) this.findViewById(R.id.stop);
Start.setOnClickListener(new TestAudioListener());
Stop.setOnClickListener(new TestAudioListener());
creatAudioRecord();
}

private void creatAudioRecord() {
// 获得缓冲区字节大小
bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz,
channelConfig, audioFormat);
// 创建AudioRecord对象
audioRecord = new AudioRecord(audioSource, sampleRateInHz,
channelConfig, audioFormat, bufferSizeInBytes);
}

详情参考http://www.mzhao.com/html/Android/59228.html

posted on 2012-02-26 02:28  亭子  阅读(784)  评论(0编辑  收藏  举报

导航