参考:
http://terryblog.blog.51cto.com/1764499/342814
http://blog.csdn.net/leirenorlei/article/details/7842045
http://www.linuxidc.com/Linux/2011-10/44660.htm
http://android.tgbus.com/Android/tutorial/201103/346665.shtml
http://jingyan.baidu.com/article/20b68a8857191c796cec6205.html
AudioManager 类位于 android.Media 包中,该类提供访问控制音量和钤声模式的操作。可以通过getSystemService(Context.AUDIO_SERVICE)方法获得AudioManager实例对象。
Android中有如下几种音频类型:
AudioManager.STREAM_MUSIC /音乐回放即媒体音量/
AudioManager.STREAM_RING /铃声/
AudioManager.STREAM_ALARM /警报/
AudioManager.STREAM_NOTIFICATION /窗口顶部状态栏通知声/
AudioManager.STREAM_SYSTEM /系统/
AudioManager.STREAM_VOICECALL /通话 /
AudioManager.STREAM_DTMF /双音多频 /
获取音量
AudioManager mAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
//通话音量
int max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_VOICE_CALL );
int current = mAudioManager.getStreamVolume( AudioManager.STREAM_VOICE_CALL );
Log.d(”VIOCE_CALL”, “max : ” + max + ” current : ” + current);
//系统音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_SYSTEM );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_SYSTEM );
Log.d(”SYSTEM”, “max : ” + max + ” current : ” + current);
//铃声音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_RING );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_RING );
Log.d(”RING”, “max : ” + max + ” current : ” + current);
//音乐音量
max = mAudioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC );
current = mAudioManager.getStreamVolume( AudioManager.STREAM_MUSIC );
Log.d(”MUSIC”, “max : ” + max + ” current : ” + current);
//提示声音音量
max = am.getStreamMaxVolume( AudioManager.STREAM_ALARM );
current = sm.getStreamVolume( AudioManager.STREAM_ALARM );
Log.d(”ALARM”, “max : ” + max + ” current : ” + current);
调整音量
public void adjustStreamVolume (int streamType, int direction, int flags)
第一个和第三个参数同上。第二个参数是音量的int值,见上面获取音量最大值的方法。
可能用到的权限:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
允许程序修改全局音频设置
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
允许程序读写扩展存储卡
<uses-permission android:name="android.permission.RECORD_AUDIO" />
允许程序录制音频