다음과 같은 의도를 처리해야합니다. 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();