2011-06-07 100 views
2

在我的應用程序中,我允許用戶切換內置手機揚聲器,揚聲器電話和立體聲BT(A2DP)耳機之間的音頻輸出。如果插入有線耳機,則無法選擇內置揚聲器或A2DP。無論哪種方式,聲音都通過有線耳機播放。有什麼辦法強制它通過BT耳機播放?在Android中,如何在有線耳機和A2DP BT之間切換?

使用API​​ 5及更高版本,所有隱式設置音頻路徑的方法都被棄用,所以我找不出一種方法來做到這一點。任何幫助,將不勝感激。

謝謝。

回答

-1

如果有線耳機+藍牙耳機在那麼插入它可以切換到內置揚聲器(如果你的意思是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(); 

但在這種情況下,它的問題,切換到藍牙耳機。此代碼無助於切換到

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

問題是關於A2DP,而不是SCO – user496854 2014-06-01 06:17:54

相關問題