一尘不染

如何在Android Wear上录制音频

java

有一些方法可以在Android Wear上录制音频吗?我使用了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();

阅读 225

收藏
2020-12-03

共1个答案

一尘不染

支持AudioRecord,并且可以在Android
Wear上使用。如果要在仿真器上进行测试,则可能是不支持您提供的采样率11025,请尝试另一种,例如8000。

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

audioRecord.getState() == AudioRecord.STATE_INITIALIZED

另外,请确保您在清单中具有正确的权限。您将至少需要android.permission.RECORD_AUDIO,并且还需要您正在写入文件的位置的所有权限。

2020-12-03