在Android中连接蓝牙耳机后,如何在内置的MIC和耳机MIC之间切换音频输入



我正在使用语音识别应用程序。在成功连接到我的Android设备的蓝牙耳机之后,我想在内置的麦克风和耳机麦克风之间自由切换音频输入,该怎么做?

您可以使用以下代码切换蓝牙耳机麦克风。

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();

最新更新