1. 程式人生 > >安卓插入耳機時也要開啟揚聲器

安卓插入耳機時也要開啟揚聲器

我最開始也是在各種搜尋引擎上尋找各種方法,借鑑了

https://blog.csdn.net/menghnhhuan/article/details/7415843

上面的方法,並且添加了許可權

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>

但是還是行不通,我把程式碼看了好幾遍,並且研究了他們這幾個方法實現的功能。

AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);  
   		    int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);  
		    mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, maxVolume, 0); //音量調到最大  
		    //mAudioManager.setMicrophoneMute(false); 
	        mAudioManager.setSpeakerphoneOn(true);//使用揚聲器外放,即使已經插入耳機
	        mAudioManager.setMode(AudioManager.STREAM_MUSIC);
最後我把

mAudioManager.setMicrophoneMute(false);

這一行註釋掉了,無論耳機是什麼狀態,都要開啟揚聲器進行播放,但是這樣耳機是沒有聲音的。

只能開啟一種,要麼是耳機,要麼是揚聲器,那個在前一句就開啟哪一個。

而且,開啟揚聲器還要開起耳機這樣的情況,感覺不合常理。