有一些方法可以在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();
支持AudioRecord,并且可以在Android Wear上使用。如果要在仿真器上进行测试,则可能是不支持您提供的采样率11025,请尝试另一种,例如8000。
构造AudioRecord之后,您应在尝试记录之前检查状态以确认初始化是否成功。
audioRecord.getState() == AudioRecord.STATE_INITIALIZED
另外,请确保您在清单中具有正确的权限。您将至少需要android.permission.RECORD_AUDIO,并且还需要您正在写入文件的位置的所有权限。