这篇文章主要讲解了“怎么使用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这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/69917874/viewspace-2697030/