2

私は、Bluetooth経由でスマートフォンに接続されたArduinoデバイスを管理するために、Google音声認識を使用したオフラインContinuos音声認識Androidアプリケーションを実装しています。 Bluetoothヘッドセットを使用しているときに、電話用マイクの代わりにBluetoothマイクを使用したいとします。常に携帯電話のマイクを使用しBluetooth接続によるContinuos Android音声認識

public class BluetoothHeadsetReceiver extends BroadcastReceiver { 

    public BluetoothHeadsetReceiver(Context context) { 
     IntentFilter intentFilter = new IntentFilter(BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED);  intentFilter.addAction(BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED);   intentFilter.addAction(BluetoothHeadset.ACTION_VENDOR_SPECIFIC_HEADSET_EVENT); 
     context.registerReceiver(this, intentFilter); 
     mBluetoothHeadsetReceiver = true; 
    } 
    public void onReceive(Context context, Intent intent) { 
     int state = intent.getIntExtra(BluetoothHeadset.EXTRA_STATE, BluetoothHeadset.STATE_AUDIO_DISCONNECTED); 
     if (state == BluetoothHeadset.STATE_AUDIO_CONNECTED) { 
      deviceBTName = mBluetoothHeadset.getConnectedDevices().get(0).getName(); 
      deviceBT = mBluetoothHeadset.getConnectedDevices().get(0); 
      audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION); 
      audioManager.startBluetoothSco(); 
      audioManager.setBluetoothScoOn(true); 
      audioManager.setMicrophoneMute(true); 
      } 
     } 
     else if (state == BluetoothHeadset.STATE_AUDIO_DISCONNECTED) 
     { 
      audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION); 
      audioManager.startBluetoothSco(); 
      audioManager.setBluetoothScoOn(true); 
      mBluetoothConnected = false; 
     } 
    } 
} 

が、アプリケーション:

private BluetoothProfile.ServiceListener mProfileListener = new BluetoothProfile.ServiceListener() { 
    public void onServiceConnected(int profile, BluetoothProfile proxy) { 
     if (profile == BluetoothProfile.HEADSET) { 
      mBluetoothHeadset = (BluetoothHeadset) proxy; 
     } 
    } 
    @Override 
    public void onServiceDisconnected(int profile) { 
     if (profile == BluetoothProfile.HEADSET) { 
      mBluetoothHeadset = null; 
     } 
    } 
}; 

とBluetoothHeadsetReceiver: は、私は、次のコードを指定しました。

Bluettothマイク経由で音声入力をルーティングするにはどうすればよいですか? ありがとう

答えて

0

解決済み:audioManager.setSpeakerphoneOn(false);