如何在android上录制音频

时间:2015-02-04 12:28:09

标签: java android wear-os android-audiorecord

有一些方法可以在Android上录制音频吗?我使用了AudioRecord API,它崩溃了应用程序。

我做错了吗?

        short[] audioData = new short[minBufferSize];

        AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
                11025,
                AudioFormat.CHANNEL_CONFIGURATION_MONO,
                AudioFormat.ENCODING_PCM_16BIT,
                minBufferSize);

        audioRecord.startRecording();

        while(recording){
            int numberOfShort = audioRecord.read(audioData, 0, minBufferSize);
            for(int i = 0; i < numberOfShort; i++){
                dataOutputStream.writeShort(audioData[i]);
            }
        }

        audioRecord.stop();

1 个答案:

答案 0 :(得分:6)

支持AudioRecord,适用于Android Wear。如果您在仿真器上进行测试,则可能无法支持您提供的采样率,11025,请尝试使用另一个,例如8000.

在构建AudioRecord之后,您应该在尝试录制之前检查状态以确认初始化是否成功。

audioRecord.getState() == AudioRecord.STATE_INITIALIZED

还要确保您在清单中拥有正确的权限。您将至少需要android.permission.RECORD_AUDIO以及您正在编写文件的位置的任何权限。