case R.id.btnYinLiangPlus://音量加
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); // 调高声音
Log.e("HUXI", "----listener----YinLiang---YES");
break;
case R.id.btnYinLiangMoins://音量减
mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);// 调低声音
Log.e("HUXI", "----listener----YinLiang---NO");
break;
我是在onClick中做的操作,所以点一下就会就会刷新调用系统的音量条,点一下闪一下,但是我要的不是这样的,我要的是那种就像手机的上下键调节音量大小一样,连续点或者在几秒之内点是不闪的,求教各位大神,帮忙解决一下!!!!
Android两个ImageView的调节音量高低
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 徐福记456 2016-10-28 05:21关注
你可以自定义进度条, AudioManager.FLAG_SHOW_UI换成其他类型。
xml布局如下:
<?xml version="1.0" encoding="utf-8"?>
android:id="@+id/activity_volume"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:gravity="center"><Button android:id="@+id/up" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="增大"/> <Button android:id="@+id/down" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="减小"/> <ProgressBar android:id="@+id/progress" android:layout_width="150dp" android:layout_height="wrap_content" android:layout_marginTop="@dimen/size_20dp" style="?android:attr/progressBarStyleHorizontal" />
manifest.xml权限:
activity:
public class VolumeActivity extends Activity implements View.OnClickListener {private Button down;
private Button up;private ProgressBar progressBar;
private int maxVolume; // 最大音量值
private int curVolume; // 当前音量值
private int stepVolume; // 每次调整的音量幅度private AudioManager audioManager; // 音频管理器
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_volume);initView(); initData(); } private void initView() { down = (Button) findViewById(R.id.down); up = (Button) findViewById(R.id.up); down.setOnClickListener(this); up.setOnClickListener(this); progressBar = (ProgressBar) findViewById(R.id.progress); } private void initData(){ audioManager = (AudioManager)getApplicationContext().getSystemService(Service.AUDIO_SERVICE); // 获取最大音乐音量 maxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); // 初始化音量大概为最大音量的1/2 curVolume = maxVolume / 2; // 每次调整的音量大概为最大音量的1/10 stepVolume = maxVolume / 10; //设置进度条 progressBar.setMax(maxVolume); progressBar.setProgress(curVolume); } /** * 调整音量 */ private void adjustVolume() { audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, curVolume, AudioManager.FLAG_VIBRATE); } @Override public void onClick(View v) { int id = v.getId(); switch (id) { case R.id.up://按下增大音量按钮 curVolume += stepVolume; if (curVolume >= maxVolume) { curVolume = maxVolume; } progressBar.setProgress(curVolume); break; case R.id.down://按下减小音量按钮 curVolume -= stepVolume; if (curVolume <= 0) { curVolume = 0; } progressBar.setProgress(curVolume); break; default: break; } // 调整音量 adjustVolume(); }
}
解决 无用评论 打赏 举报
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!