2015-04-16 67 views
2

我有一個應用程序,可以在連接耳機時通過揚聲器播放音頻。要做到這一點,我做到:Android 5和音頻路由

AudioManager am = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE); 
am.setMode(AudioManager.MODE_IN_CALL); 
am.setSpeakerphoneOn(true); 

它運行良好,直到Android 5.有沒有人知道如何使它與棒棒糖一起工作?

+0

您是否嘗試過使用MODE_NORMAL?由於文檔中提到「特別是,MODE_IN_CALL模式只能在電話應用程序撥打電話時使用,因爲它會導致來自無線電層的信號​​饋送到平臺混音器。」請參閱http://developer.android.com/reference/android/media/AudioManager.html#setMode%28int%29 – aProgrammer

+1

是的,我試過了。但音頻轉到耳機MODE_NORMAL以及MODE_IN_CALL。 – AndreySko

+0

你在玩'MUSIC'流嗎?如果是這樣,請嘗試使用'setForceUse'代替[如此處所述](http://stackoverflow.com/a/12037719/1524450)。 – Michael

回答

0

您不能在android棒棒糖的應用程序中使用AudioManager.MODE_IN_CALL。 使用代碼:

AudioManager am = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE); 
am.setMode(AudioManager.MODE_IN_COMMUNICATION); 
am.setSpeakerphoneOn(true); 

這將路線,你通常音頻到即使耳機連接揚聲器。 Github回購更多信息:https://github.com/sauravpradhan/Basic-Audio-Routing