我设备中的麦克风

时间:2018-06-25 06:43:57

标签: android

我的应用正在录制语音,但是当另一个应用使用麦克风时,
(例如WhatsApp),则WhatsApp无法使用麦克风,因为我的应用程序正在使用麦克风。

如何让麦克风与其他应用程序和我的应用程序共享音频?

1 个答案:

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