Android音频管理器AudioManager用法
当我们在听歌时,当我们在刷小视频时,当我们在看动漫、在看电影、在追剧时,不知道是否有人注意到,在这些软件中滑动屏幕或者拖动滑动条就可以直接控制音量,而不需要去按手机硬件上的音量键。先调用 getSysytemService方法来获取系统的音频管理器,然后再调用 AudioManager的方法控制手机音频即可。在某些时候,程序需要管理系统音量,或者让系统直接静音,这就要借助于Android提供的Au
当我们在听歌时,当我们在刷小视频时,当我们在看动漫、在看电影、在追剧时,不知道是否有人注意到,在这些软件中滑动屏幕或者拖动滑动条就可以直接控制音量,而不需要去按手机硬件上的音量键。
在某些时候,程序需要管理系统音量,或者让系统直接静音,这就要借助于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);
}
});
原文:http://blog.itpub.net/69917874/viewspace-2697030/
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)