我的应用正在录制语音,但是当另一个应用使用麦克风时,
(例如WhatsApp),则WhatsApp无法使用麦克风,因为我的应用程序正在使用麦克风。
如何让麦克风与其他应用程序和我的应用程序共享音频?
答案 0 :(得分:1)
不幸的是,另一个应用程序当一个应用程序正在使用麦克风资源时就无法使用。
这种情况类似于相机,不能同时被两个应用使用。
解决方案:
检查麦克风是否可用(如果不可用),然后显示一些消息“当前其他应用程序正在使用麦克风且无法使用”。
检查麦克风是否可用的代码:
private boolean isMicrophoneAvailable() {
Boolean isAvailable = true;
AudioRecord recorder =
new AudioRecord(MediaRecorder.AudioSource.MIC, 44100,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_DEFAULT, 44100);
try {
if (recorder.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED) {
isAvailable = false;
}
recorder.startRecording();
if (recorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING) {
recorder.stop();
isAvailable = false;
}
recorder.stop();
} finally {
recorder.release();
recorder = null;
}
return isAvailable;
}