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マイク経由で音声入力をルーティングするにはどうすればよいですか? ありがとう