设为首页 加入收藏

TOP

Android--AudioManager控制音量(一)
2014-11-24 08:24:49 来源: 作者: 【 】 浏览:5
Tags:Android--AudioManager 控制 音量

首先,让我们来看下本程序的实现截图:



图中的五个ImageButton实现不同的功能:


1.调大音量


2.减小音量


3.调整手机模式为正常


4.调整手机模式为静音


5.调整手机模式为震动


下面给出实现的代码:


public class EX07_08 extends Activity {
/* 变量宣告 */
private ImageView myImage;
private ImageButton downButton;
private ImageButton upButton;
private ImageButton normalButton;
private ImageButton muteButton;
private ImageButton vibrateButton;
private ProgressBar myProgress;
private AudioManager audioMa;
private int volume=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
/* 物件初始化 */
audioMa = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
myImage = (ImageView)findViewById(R.id.myImage);
myProgress = (ProgressBar)findViewById(R.id.myProgress);
downButton = (ImageButton)findViewById(R.id.downButton);
upButton = (ImageButton)findViewById(R.id.upButton);
normalButton = (ImageButton)findViewById(R.id.normalButton);
muteButton = (ImageButton)findViewById(R.id.muteButton);
vibrateButton = (ImageButton)findViewById(R.id.vibrateButton);
/* 设定初始的手机音量 */
volume=audioMa.getStreamVolume(AudioManager.STREAM_RING);
myProgress.setProgress(volume);
/* 设定初始的声音模式 */
int mode=audioMa.getRingerMode();
if(mode==AudioManager.RINGER_MODE_NORMAL) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.normal));
}
else if(mode==AudioManager.RINGER_MODE_SILENT) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.mute));
}
else if(mode==AudioManager.RINGER_MODE_VIBRATE) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.vibrate));
}
/* 音量调小声的Button */
downButton.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
/* 设定音量调小声一格 */
audioMa.adjustVolume(AudioManager.ADJUST_LOWER, 0);
volume=audioMa.getStreamVolume(AudioManager.STREAM_RING);
myProgress.setProgress(volume);
/* 设定调整后声音模式 */
int mode=audioMa.getRingerMode();
if(mode==AudioManager.RINGER_MODE_NORMAL) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.normal));
}
else if(mode==AudioManager.RINGER_MODE_SILENT) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.mute));
}
else if(mode==AudioManager.RINGER_MODE_VIBRATE) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.vibrate));
}
}
});
/* 音量调大声的Button */
upButton.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View arg0) {
/* 设定音量调大声一格 */
audioMa.adjustVolume(AudioManager.ADJUST_RAISE, 0);
volume=audioMa.getStreamVolume(AudioManager.STREAM_RING);
myProgress.setProgress(volume);
/* 设定调整后的声音模式 */
int mode=audioMa.getRingerMode();
if(mode==AudioManager.RINGER_MODE_NORMAL) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.normal));
}
else if(mode==AudioManager.RINGER_MODE_SILENT) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.mute));
}
else if(mode==AudioManager.RINGER_MODE_VIBRATE) {
myImage.setImageDrawable(getResources() .getDrawable(R.drawable.vibrate));

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android Logcat的使用 下一篇如何判断Android手机当前是否联网?

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·如何从内核协议栈到 (2025-12-27 03:19:09)
·什么是网络协议?有哪 (2025-12-27 03:19:06)
·TCP/ IP协议有哪些 (2025-12-27 03:19:03)
·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)