2017-03-31 1 views
0

통합 Android 스마트 폰 마이크 대신 Bluetooth 헤드셋에서 오디오를 녹음 할 수 있습니까? 헤드셋을 전화기에 연결할 때 전화를 걸 때 마이크를 사용할 수 있지만 다른 어떤 경우에는 녹음하지 않습니다. 예를 들어 녹음 응용 프로그램에서 오디오를 녹음하려고 할 때 전화에서 마이크를 사용하는 경우 . 대신 헤드셋 마이크를 선택하기위한 솔루션이 있습니까? 아니면 애플리케이션을 작성할 수 있습니까?편리한 마이크 대신 헤드셋에서 마이크 소스를 선택하십시오

답변

0

다음과 같은 의도를 처리해야합니다. https://developer.android.com/reference/android/speech/RecognizerIntent.html#ACTION_VOICE_SEARCH_HANDS_FREE

다음 코드를 사용하여 블루투스 헤드셋 마이크를 사용할 수 있습니다.

AudioManager audiomanager= (AudioManager)mContext.getSystemService(Context 
      .AUDIO_SERVICE); 
IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED); 
    mContext.registerReceiver(mBluetoothScoReceiver, intentFilter); 
audiomanager.startBluetoothSco(); 

브로드 캐스트 리시버를 청취하십시오.

private BroadcastReceiver mBluetoothScoReceiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     int state = intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1); 

     if (state == AudioManager.SCO_AUDIO_STATE_CONNECTED) { 
      // Start recording audio 
      log("audio connected"); 
      startRecording(); 
     } else if(state == AudioManager.SCO_AUDIO_STATE_DISCONNECTED){ 
      log("audio disconnected"); 
     } 
    } 
}; 

(전환 블루투스 헤드셋 마이크)이 코드를 사용할 수 있습니다.

mAudioManager.stopBluetoothSco();