Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.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,我的应用正在录制语音,但当其他应用使用麦克风时, (例如,WhatsApp)然后WhatsApp无法使用麦克风,因为我的应用正在使用麦克风 如何让麦克风与其他应用程序和我的应用程序共享音频?不幸的是,当已有一个应用程序正在使用麦克风资源时,另一个应用程序无法使用它 该案例类似于摄像头,不能同时由两个应用程序使用 解决方案: 检查麦克风是否可用如果不可用,则显示一些消息“当前麦克风正被其他应用程序使用,无法使用” 检查麦克风可用性的代码: private boolean isMicrophoneA

我的应用正在录制语音,但当其他应用使用麦克风时,
(例如,WhatsApp)然后WhatsApp无法使用麦克风,因为我的应用正在使用麦克风


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

不幸的是,当已有一个应用程序正在使用麦克风资源时,另一个应用程序无法使用它

该案例类似于摄像头,不能同时由两个应用程序使用

解决方案

检查麦克风是否可用如果不可用,则显示一些消息“当前麦克风正被其他应用程序使用,无法使用”

检查麦克风可用性的代码:

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

好的,麦克风有监听器、动作(广播接收器)或事件?如果启动、停止或有应用程序想要使用麦克风?@NidalWahhoud否,麦克风没有此类操作或事件。