如何在 android wear 上录制音频

How to record audio on android wear

有什么方法可以在 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();

AudioRecord 受支持并适用于 Android Wear。如果您在模拟器上进行测试,它可能不支持您提供的采样率 11025,请尝试其他采样率,例如 8000。

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

audioRecord.getState() == AudioRecord.STATE_INITIALIZED

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