听筒播放Mp3
下载Demohttp://download.csdn.net/detail/wds1181977/8114967
切换为听筒模式声音由听筒发出
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_CALL);
切换为其他模式
am.setMode(AudioManager.MODE_NORMAL);//正常模式,即在没有铃音与电话的情况
am.setMode(AudioManager.MODE_RINGTONE);//铃响模式
am.setMode(AudioManager.MODE_IN_CALL);//接通电话模式
am.setMode(AudioManager.MODE_IN_COMMUNICATION);//通话模式。
获取当前状态
mAudioMode = am.getMode()
判断音频路由模式
am. isSpeakerphoneOn(); //检查喇叭扩音器是否开着。若喇叭扩音器开着,返回true
am. isBluetoothScoOn();/检查通信是否使用蓝牙SCO。
am. isBluetoothA2dpOn(); //检查A2DP音频路由到蓝牙耳机是否打开 音频到/从蓝牙耳机,返回ture
am. isWiredHeadsetOn(); // 检查音频路由到有线耳机是否开着。若音频被路由到/从有线耳机,返回true
am. isMusicActive();//检查是否有音乐是活动的
设置喇叭扩音器打开或关闭。
参数on 为true打开喇叭扩音器;为false关闭喇叭扩音器。
public void setSpeakerphoneOn (boolean on)
获取当前铃音模式
getRingerMode()
设置当前模式
public void setRingerMode (int ringerMode)
am.setRingerMode(RINGER_MODE_NORMAL);//铃音正常模式
am.setRingerMode(RINGER_MODE_SILENT);//铃音静音模式 静音且不会振动
am.setRingerMode(RINGER_MODE_VIBRATE);//铃音震动模式 会静音且会振动
获取音量类型和大小
//通话音量 max 最大音量 current当前音量
int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL );
int current = mAudioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL );
//系统音量
int max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM );
current = mAudioManager.getStreamVolume(AudioManager.STREAM_SYSTEM );
//铃声音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING);
current = mAudioManager.getStreamVolume(AudioManager.STREAM_RING );
//音乐音量
max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC );
current = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC );
//提示声音音量
max = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_ALARM );
current = mAudioManager.getStreamVolume(AudioManager.STREAM_ALARM );
设置音量大小
int maxVolume = am.getStreamMaxVolume(AudioManager.STREAM_VOICE_CALL);//获取当前通话最大音量
am.setStreamVolume(AudioManager.STREAM_VOICE_CALL, maxVolume,AudioManager.USE_DEFAULT_STREAM_TYPE);}
/**
* 参数1:声音类型,
* 可取为STREAM_VOICE_CALL(通话)、
* STREAM_SYSTEM(系统声音)、
* STREAM_RING(铃声)、
* STREAM_MUSIC(音乐)、
* STREAM_ALARM(闹铃声)
* 参数2:调整音量的方向,可取
* ADJUST_LOWER(降低)、
* ADJUST_RAISE(升高)、
* ADJUST_SAME
* 参数3:可选的标志位
* @param position
*/
adjustStreamVolume(int streamType, int direction, intflags)
如
//降低音量,调出系统音量控制
if(flag == 0){
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}
//增加音量,调出系统音量控制
else if(flag == 1){
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE,
AudioManager.FX_FOCUS_NAVIGATION_UP);
}