首页 文章

在Android中,如何在有线耳机和A2DP BT之间切换?

提问于
浏览
2

在我的应用程序中,我允许用户在内置手机扬声器,扬声器电话和立体声BT(A2DP)耳机之间切换音频输出 . 如果插入有线耳机,则无法选择内置扬声器或A2DP . 无论哪种方式,声音都通过有线耳机播放 . 有没有办法强迫它通过BT耳机播放?

使用API 5及更高版本,不推荐使用隐式设置音频路径的所有方法,因此我无法找到实现此目的的方法 . 任何帮助,将不胜感激 .

谢谢 .

1 回答

  • -1

    如果插入有线耳机BT耳机,那么可以切换到内置扬声器(如果你的意思是android设备扬声器)或有线耳机

    AudioManager audioManager = (AudioManager)getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
        audioManager.setMode(AudioManager.MODE_IN_CALL);
    
        // true - switch to internal speakers; false - to wired headsets
        audioManager.setSpeakerphoneOn(true);
    
    
        mMediaPlayer = MediaPlayer.create(AudioTests.this, R.raw.test_cbr);
        mMediaPlayer.start();
    

    但在这种情况下,切换到BT耳机是个问题 . 此代码无法切换到

    // instead of audioManager.setSpeakerphoneOn(true);
        audioManager.setMode(0);
        audioManager.setBluetoothScoOn(true);
        audioManager.startBluetoothSco();
    

相关问题