以编程方式检查Android上的麦克风当前是否正在使用
有一种方法可以检查Android手机上的麦克风是否正在录制任何内容? 我在录音机里什么也没找到。以编程方式检查Android上的麦克风当前是否正在使用,android,Android,有一种方法可以检查Android手机上的麦克风是否正在录制任何内容? 我在录音机里什么也没找到。 更新: int sampleRateInHz = 8000;//8000 44100, 22050 and 11025 int channelConfig = AudioFormat.CHANNEL_CONFIGURATION_MONO; int audioFormat = AudioFormat.ENCODING_PCM_16BIT; int bufferSize = AudioRecord.ge
更新:
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();
}
我看到了很多你可以尝试的东西。从
AudioRecord
-getRecordingState()
-返回AudioRecord实例的录制状态
或者您可以尝试测试:read(byte[],int,int)
,read(short[],int,int)
或read(ByteBuffer,int)
方法,以查看缓冲区的大小是否在增长
编辑:以下是一些有关如何读取缓冲区的示例和说明:
可能重复:我已经试过了。它总是返回true…所以我编写了这个方法(请参见更新)。看起来也不像是工作。它总是返回1,即int RECORDSTATE_STOPPED。。。