这篇文章主要讲解了“怎么使用AudioManager”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用AudioManager”吧!
当我们在听歌时,当我们在刷小视频时,当我们在看动漫、在看电影、在追剧时,不知道是否有人注意到,在这些软件中滑动屏幕或者拖动滑动条就可以直接控制音量,而不需要去按手机硬件上的音量键
在某些时候,程序需要管理系统音量,或者让系统直接静音,这就要借助于Android提供的AudioManager来实现了
先调用getSysytemService方法来获取系统的音频管理器,然后再调用AudioManager的方法控制手机音频即可
在举例子之前,需要来了解一下AudioManager的大致用法
adjustStreamVolume(int streamType,int direction,int flag):调用手机指定类型的声音,streamType的参数如下:
STREAM_ALARM:手机闹铃的声音
STREAM_DTMF:DTMF音调的声音
STREAM_MUSIC:手机音乐的声音
STREAM_NOTIFICATION:系统提示的声音
STREAM_RING:电话铃声的声音
...
接下来,来看一下具体的例子
在xml中先创建几个button,然后打开MainActivity
首先需要在onCreate创建各个button的实例和调用getSysytemService方法来获取系统的音频管理器
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); aManager = (AudioManager) getSystemService( Service.AUDIO_SERVICE); play = (Button) findViewById(R.id.play); up = (Button) findViewById(R.id.up); down = (Button) findViewById(R.id.down); mute = (ToggleButton) findViewById(R.id.mute); }
在onCreate中继续实现播放音乐
play.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { MediaPlayer mPlayer = MediaPlayer.create( MainActivity.this, R.raw.earth); mPlayer.setLooping(true); mPlayer.start(); } });
在onCreate中继续实增大音量
up.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); } });
在onCreate中继续实减小音量
down.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { aManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); } });
最后在onCreat中实现静音
mute.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton source, boolean isChecked) { // 指定调节音乐的音频,根据isChecked确定是否需要静音 aManager.setStreamMute(AudioManager.STREAM_MUSIC, isChecked); } });
感谢各位的阅读,以上就是“怎么使用AudioManager”的内容了,经过本文的学习后,相信大家对怎么使用AudioManager这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。