以编程方式检查Android上的麦克风是否正在使用中

时间:2014-12-11 21:02:46

标签: android

有一种方法可以检查Android手机上的麦克风是否正在录制任何内容? 我在AudioRecorder中找不到任何东西 的更新

int sampleRateInHz = 8000;//8000 44100, 22050 and 11025
int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO;
int audioFormat = AudioFormat.ENCODING_PCM_16BIT;
int bufferSize = AudioRecord.getMinBufferSize(sampleRateInHz, channelConfig, audioFormat);


public int getRecordingState() {
    AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.DEFAULT, sampleRateInHz, channelConfig, audioFormat, bufferSize);
    return audioRecord.getRecordingState();
}

1 个答案:

答案 0 :(得分:0)

我看到了很多可以尝试的事情。 From AudioRecord - getRecordingState() - 返回AudioRecord实例的录制状态。

或者您可以尝试测试:read(byte[], int, int)read(short[], int, int)read(ByteBuffer, int)方法,以查看缓冲区的大小是否在增长。

编辑:以下是有关如何阅读缓冲区的一些示例和说明:

Understanding of the Audio Recorder read() buffer

Android AudioRecord example