下面要写的是AudioManager这个音频管理器,它可以通过getSystemService得到
有一个重要方法adjustStreamVolumn(int streamType,int direction,int flags)
streamType 这个参数指定了声音的类型,如下
STREAM_ALARM:手机闹铃声音
STREAM_DTMF:DTMF音调的声音
STREAM_MUSIC:手机音乐的声音
STREAM_NOTFICATION:系统提示的声音
STREAM_RING:电话铃声的声音
STREAM_SYSTEM:手机系统的声音(不知道什么是系统声音,按键的声音?)
STREAM_VOICE_CALL:语音电话的声音
direction: 这个参数代表声音增大还是减少
flags:调整声音时的标志,例如指定FLAG_SHOW_UI,指定调整声音时显示音量进度条
setMicrophoneMute(boolean on):设置是否让麦克风静音
setMode(int mode):设置声音模式,可设置的值有NORMAL,RINGTONE和IN_CALL
setRingMode(int ringerMode):设置手机的电话铃声的模式,有如下几种
RINGER_MODE_NORMAL:正常手机铃声
RINGER_MODE_SILENT:手机铃声静音
RINGER_MODE_VIBRATE: 手机振动
setSpeakerphoneOn(boolean on):设置是否打开扩音器
setStreamMute(int streamType,boolean state):将手机的指定类型的声音调整为静音.其中streamType参数与adjustStreamVolume方法中第一个参数的意义相同
setStreamVolume(int StreamType,int index,int flags):直接设置手机的指定类型的音量值,其中streamType参数与adjustStreamVolume方法中第一个参数的意义相同
下面只是一个例子,并不能真的用来当播放器,有很多问题没有处理,所以这个例子只是教会怎么使用音频管理器这个工具
package WangLi.Service.AudioTest; import android.app.Activity; import android.app.Service; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.ToggleButton; public class AudioTest extends Activity { Button play, up, down; ToggleButton mute; AudioManager aManager; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // 获取系统的音频服务 aManager = (AudioManager) getSystemService(Service.AUDIO_SERVICE); // 获取界面中的三个按钮和一个ToggleButton控件 play = (Button) findViewById(R.id.play); up = (Button) findViewById(R.id.up); down = (Button) findViewById(R.id.down); mute = (ToggleButton) findViewById(R.id.mute); // 为play按钮的单击事件绑定监听器 play.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // 初始化MediaPlay对象,准备播放音乐 MediaPlayer mPlayer = MediaPlayer.create(AudioTest.this, R.raw.one); // 设置循环播放 mPlayer.setLooping(true); // 开始播放 mPlayer.start(); } }); up.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 指定调节音乐的音频,增大音量,而且显示音量图形示意 aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); } }); down.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 指定调节音乐的音频,降低音量,而且显示音量图形示意 aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); } }); mute.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton source, boolean isChecked) { // 指定调节音乐的音频,根据isChecked确定是否需要静音 aManager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked); } }); } }