Android AudioRecord设置输出路径
时间: 2023-08-21 19:03:38 浏览: 206
要在Android上使用AudioRecord设置输出路径,可以使用AudioRecord类来录制音频,然后使用FileOutputStream类将录制的音频保存到指定路径的文件中。下面是一个简单的示例代码:
```
// 音频源
int audioSource = MediaRecorder.AudioSource.MIC;
// 采样率
int sampleRateInHz = 44100;
// 声道数
int channelConfig = AudioFormat.CHANNEL_IN_MONO;
// 音频格式
int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
// 缓冲区大小
int bufferSizeInBytes = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat);
// 创建AudioRecord对象
AudioRecord recorder = new AudioRecord(audioSource, sampleRateInHz, channelConfig, audioFormat, bufferSizeInBytes);
// 设置输出文件路径
String filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test.pcm";
FileOutputStream os = new FileOutputStream(filePath);
// 开始录制
recorder.startRecording();
// 录制数据
byte[] buffer = new byte[bufferSizeInBytes];
while (recorder.getRecordingState() == AudioRecord.RECORDSTATE_RECORDING) {
int len = recorder.read(buffer, 0, bufferSizeInBytes);
os.write(buffer, 0, len);
}
// 停止录制
recorder.stop();
// 释放资源
recorder.release();
os.flush();
os.close();
```
在上述代码中,`AudioRecord`类的构造函数设置音频源、采样率、声道数、音频格式和缓冲区大小。`getMinBufferSize()`方法可以获取最小的缓冲区大小。`startRecording()`方法开始录制,`read()`方法读取录制的数据,`stop()`方法停止录制,`release()`方法释放资源。`FileOutputStream`类的构造函数设置输出文件路径,`write()`方法将数据写入文件中。
注意,在使用AudioRecord录制音频前,需要添加录音权限。可以在AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
```
其中`RECORD_AUDIO`权限用于录音,`WRITE_EXTERNAL_STORAGE`权限用于保存文件。
阅读全文
相关推荐

















