音频管理器 AudioManager
2016-06-30 20:19
169 查看
Android中提供的 AudioManager类 可以管理系统音量,或者让系统静音, 程序一样要调用getSystemService()方法.来获取系统的音频管理器.
在获取了 AudioManager对象之后 就可以调用如下方法:
adjustStreamVolume(int StreamType,int direction,int flags): 调整手机指定类型的声音.其中第一个参数streamType指定声音类型.该参数可接受如下几个值.
STREAM_ALARM : 手机闹铃声音.
STREAM_MUSIC : 手机音乐的声音.
STREAM_NOTIFICATION :手机通知的声音.
STREAM_RING:电话铃声的声音.
STREAM_SYSTEM : 手机系统的声音.
STREAM_VOICE_CALL : 手机语音通话的声音.
第2个参数是指定对声音增大 还是减少,
第3个参数是调整声音时的标志, 例如指定Flag_show_ui,则指定调整声音时显示音量的进度条.
setMircrophoneMute(boolean on) : 设置是否让麦克风静音.
setMode(int mode) :设置声音模式.可设置为 Normal,RingTone,和IN_CALL.
setRingerMode(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方法中第一个参数的意义相同.
在获取了 AudioManager对象之后 就可以调用如下方法:
adjustStreamVolume(int StreamType,int direction,int flags): 调整手机指定类型的声音.其中第一个参数streamType指定声音类型.该参数可接受如下几个值.
STREAM_ALARM : 手机闹铃声音.
STREAM_MUSIC : 手机音乐的声音.
STREAM_NOTIFICATION :手机通知的声音.
STREAM_RING:电话铃声的声音.
STREAM_SYSTEM : 手机系统的声音.
STREAM_VOICE_CALL : 手机语音通话的声音.
第2个参数是指定对声音增大 还是减少,
第3个参数是调整声音时的标志, 例如指定Flag_show_ui,则指定调整声音时显示音量的进度条.
setMircrophoneMute(boolean on) : 设置是否让麦克风静音.
setMode(int mode) :设置声音模式.可设置为 Normal,RingTone,和IN_CALL.
setRingerMode(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 com.test.audiomanagerdemo; import android.app.Service; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.CompoundButton; import android.widget.ToggleButton; /** * 使用 AudioManager 调整手机音频 */ public class AudioActivity extends AppCompatActivity { Button btnUp, btnDown, btnPlay, btnStop; ToggleButton btnSwitch; AudioManager mManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_audio); mManager = (AudioManager) getSystemService(Service.AUDIO_SERVICE); btnUp = (Button) findViewById(R.id.up); btnDown = (Button) findViewById(R.id.down); btnPlay = (Button) findViewById(R.id.play); btnStop = (Button) findViewById(R.id.stop); btnSwitch = (ToggleButton) findViewById(R.id.mute); initListener(); } MediaPlayer mediaPlayer; private void initListener() { btnPlay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //初始化 android.media.MediaPlayer 对象,准备播放音乐 mediaPlayer = MediaPlayer.create(AudioActivity.this, R.raw.earth); //设置循环播放 mediaPlayer.setLooping(true); //开始播放 mediaPlayer.start(); } }); //停止播放音乐 btnStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mediaPlayer.stop(); } }); //音量加 btnUp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //指定调整音乐的音乐,增大音量,而且显示音量图形示意 mManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); } }); //音量减 btnDown.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //指定调整音乐的音乐,降低音量,而且显示音量图形示意 mManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); } }); // ToggleButton 按钮 btnSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { //指定调节音乐的音频,根据 isChecked 确定是否需要静音 mManager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked); } }); } }
相关文章推荐
- 网络资料备忘录
- Win10系统取消插入耳机后弹出的SmartAudio提示的方法
- HD Audio总线驱动加载失败彻底解决!
- WAVEFORMATEX 格式说明
- stagefright MKV/WebM parser
- 主板上常见英文标识的解释
- DirectX.Capture
- eDonkey协议
- 电子网站导航 (zz http://blog.163.com/huanghuairen@126/blog/static/19577851200710192333382/)
- 流媒体学习(一)
- 在WinCE6.0下编译DirectShow相关应用时出现题图中的错误链接的解决方法
- iPhone 应用开发:音频播放
- What Is an MXF File?
- 数字音乐各种高保真音乐格式
- (转载+修改)FFMPEG解复用流程
- FFMPEG解复用、解码测试,音频保存WAV文件,视频保存为PPM图像
- All things considered
- 主机hdmi接口连上第二块显示器后,耳机没有声音
- APE
- MPEGLAYER3WAVEFORMAT Structure