Andorid和IOS如何检测麦克风是否被占用

fightsyj 2019-04-02 03:16:15
Andorid和IOS如何检测麦克风是否被占用
...全文
1191 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Christmas_sd 2019-07-10
  • 打赏
  • 举报
回复
引用 楼主 <span style="color:#4788C7">fightsyj</span>的回复:
这个方法对部分机型无效,比如小米。。
<br />那请问下小米如何检测呢,还有其他什么机型也不可以
fightsyj 2019-04-02
  • 打赏
  • 举报
回复
这个方法对部分机型无效,比如小米。。
jzp12 2019-04-02
  • 打赏
  • 举报
回复
for android :

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;
}


https://stackoverflow.com/questions/12192179/can-we-check-the-state-of-microphone-of-an-android-phone-if-we-can-then-how-can

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧