Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以编程方式检查Android上的麦克风当前是否正在使用_Android - Fatal编程技术网

以编程方式检查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

有一种方法可以检查Android手机上的麦克风是否正在录制任何内容? 我在录音机里什么也没找到。
更新:

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。。。