android插入耳機狀態使用揚聲器外放音樂
阿新 • • 發佈:2019-01-25
插入耳機的時候也可以選擇使用揚聲器播放音樂,來電鈴聲就是這麼用的。但是隻能用MediaPlayer,播放音訊檔案。
還搞不清楚為什麼,大家來解答一下!
插入耳機,選擇外放的程式碼如下:
[html] view plaincopyprint?
AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMicrophoneMute(false);
audioManager.setSpeakerphoneOn(true);//使用揚聲器外放,即使已經插入耳機
setVolumeControlStream(AudioManager.STREAM_MUSIC);//控制聲音的大小
audioManager.setMode(AudioManager.STREAM_MUSIC);
//播放一段聲音,檢視效果
MediaPlayer playerSound = MediaPlayer.create(this, Uri.parse("file:///system/media/audio/ui/camera_click.ogg"));
playerSound.start();
註釋:
setVolumeControlStream(int streamType)方法:
當開發多媒體應用或者遊戲應用的時候,需要使用音量控制鍵來設定程式的音量大小。在Android系統中有多中音訊流,通過Activity中的函式 setVolumeControlStream(int streamType)可以設定該Activity中音量控制鍵控制的音訊流,一般在onCreate函式中設定。
Android中有如下幾種音訊流:
AudioManager.STREAM_MUSIC
AudioManager.STREAM_RING
AudioManager.STREAM_ALARM
AudioManager.STREAM_NOTIFICATION
AudioManager.STREAM_SYSTEM
AudioManager.STREAM_VOICECALL