gpt4 book ai didi

android - 我们可以检查安卓手机麦克风的状态吗,如果可以的话,我该怎么做

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:53 26 4
gpt4 key购买 nike

我想编写一个程序来检查 android 手机的内部麦克风是否打开、关闭或正在被其他应用程序使用。

如果这是可能的,那我该怎么做呢?

我在stack overflow上看了相关问题,但没有找到解决方案。

最佳答案

这是我用来检查麦克风是否忙碌的方法(基于 Odaym 的回答和我自己的测试):

(已更新,与 Android 6.0 Marshmallow 兼容,如评论中所建议)

  public static boolean checkIfMicrophoneIsBusy(Context ctx){
AudioRecord audio = null;
boolean ready = true;
try{
int baseSampleRate = 44100;
int channel = AudioFormat.CHANNEL_IN_MONO;
int format = AudioFormat.ENCODING_PCM_16BIT;
int buffSize = AudioRecord.getMinBufferSize(baseSampleRate, channel, format );
audio = new AudioRecord(MediaRecorder.AudioSource.MIC, baseSampleRate, channel, format, buffSize );
audio.startRecording();
short buffer[] = new short[buffSize];
int audioStatus = audio.read(buffer, 0, buffSize);

if(audioStatus == AudioRecord.ERROR_INVALID_OPERATION || audioStatus == AudioRecord.STATE_UNINITIALIZED /* For Android 6.0 */)
ready = false;
}
catch(Exception e){
ready = false;
}
finally {
try{
audio.release();
}
catch(Exception e){}
}

return ready;
}

关于android - 我们可以检查安卓手机麦克风的状态吗,如果可以的话,我该怎么做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12192179/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com