linux 软件控制音量,Android--AudioManager控制音量

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

c52e4bcd700e8cdf60d87267e14d2484.png

图中的五个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));

}

}

});

/* 调整铃声模式为正常模式的Button */

normalButton.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View arg0) {

/* 设定铃声模式为NORMAL */

audioMa.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

/* 设定音量与声音模式 */

volume=audioMa.getStreamVolume(AudioManager.STREAM_RING);

myProgress.setProgress(volume);

myImage.setImageDrawable(getResources() .getDrawable(R.drawable.normal));

}

});

/* 调整铃声模式为静音模式的Button */

muteButton.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View arg0) {

/* 设定铃声模式为SILENT */

audioMa.setRingerMode(AudioManager.RINGER_MODE_SILENT);

/* 设定音量与声音状态 */

volume=audioMa.getStreamVolume(AudioManager.STREAM_RING);

myProgress.setProgress(volume);

myImage.setImageDrawable(getResources() .getDrawable(R.drawable.mute));

}

});

/* 调整铃声模式为震动模式的Button */

vibrateButton.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View arg0) {

/* 设定铃声模式为VIBRATE */

audioMa.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

/* 设定音量与声音状态 */

volume=audioMa.getStreamVolume(AudioManager.STREAM_RING);

myProgress.setProgress(volume);

myImage.setImageDrawable(getResources() .getDrawable(R.drawable.vibrate));

}

});

}

}

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值