Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.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_Audio_Audio Recording - Fatal编程技术网

正在从其他Android应用程序请求录制焦点

正在从其他Android应用程序请求录制焦点,android,audio,audio-recording,Android,Audio,Audio Recording,我正在开发用于VoIP呼叫的Android应用程序,存在以下问题: 如果任何其他应用程序(如Hangouts或Skype)已激活通话,则话筒/录音控制将保持不变,即使我已从应用程序调用AudioManager的requestAudioFocus API。播放控制会出现在我的应用程序中,但录制控制会保留在早期的应用程序中 Android中是否也有办法请求录制焦点?就像摄像头访问一样,一次只有一个应用程序可以访问麦克风。在这种情况下,您只需请求麦克风,如果您没有得到,请通知与此问题相关的用户—“麦克

我正在开发用于VoIP呼叫的Android应用程序,存在以下问题:

如果任何其他应用程序(如Hangouts或Skype)已激活通话,则话筒/录音控制将保持不变,即使我已从应用程序调用AudioManager的requestAudioFocus API。播放控制会出现在我的应用程序中,但录制控制会保留在早期的应用程序中


Android中是否也有办法请求录制焦点?

就像摄像头访问一样,一次只有一个应用程序可以访问麦克风。在这种情况下,您只需请求麦克风,如果您没有得到,请通知与此问题相关的用户—“
麦克风被其他应用程序使用
麦克风正忙

您可以使用以下代码检查麦克风的可用性-

private boolean validateMicAvailability(){
    Boolean available = true;
    AudioRecord recorder =
            new AudioRecord(MediaRecorder.AudioSource.MIC, 44100,
                    AudioFormat.CHANNEL_IN_MONO,
                    AudioFormat.ENCODING_DEFAULT, 44100);
    try{
        if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_STOPPED ){
            available = false;

        }

        recorder.startRecording();
        if(recorder.getRecordingState() != AudioRecord.RECORDSTATE_RECORDING){
            recorder.stop();
            available = false;

        }
        recorder.stop();
    } finally{
        recorder.release();
        recorder = null;
    }

    return available;
}

您可以查看indetail post

在Android中请求麦克风访问的方式是什么?