2017-04-05 75 views

回答

0

麥克風一次只能由一個進程使用。您可以檢查Sinch視頻通話是否正在佔用使用下面剪下的麥克風

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

它返回false。 sinch視頻電話舉行微。無論如何要記錄微觀? –

+0

嗨,不,我們需要它,所以它不可能,對不起 – cjensen