android - 如何使用搜索栏增加音量
问题描述
实际上我正在开发视频播放器,然后我有一个要求,即如何使用 Swipeup() 上的搜索栏添加音量增加和减少选项;并在 onToucheventListener 上向下滑动。如果可能,我不知道要添加上述功能,请告诉我过程或提供示例代码。请帮我。
解决方案
我已经在我的一个在线广播流项目中实现了音量控制,就像这样,它对我来说效果很好
private SeekBar volumeSeekbar;
volumeSeekbar = (SeekBar) findViewById(R.id.seekBarVolume);
volumeSeekbar.setThumbOffset(5);
volumeSeekbar.setMax(audioManager
.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
volumeSeekbar.setProgress(audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC));
volumeSeekbar.setOnSeekBarChangeListener(this);
private void volume(String volume) {
if (volume.equals("up")) {
audioManager.adjustVolume(AudioManager.ADJUST_RAISE,
AudioManager.FLAG_SHOW_UI);
volumeSeekbar.setProgress(audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC));
} else if (volume.equals("down")) {
audioManager.adjustVolume(AudioManager.ADJUST_LOWER,
AudioManager.FLAG_SHOW_UI);
volumeSeekbar.setProgress(audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC));
} else if (volume.equals("max")) {
if (isMute)
unmute();
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
0);
volumeSeekbar.setProgress(audioManager
.getStreamVolume(AudioManager.STREAM_MUSIC));
}
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) {
volume("down");
}
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP)) {
volume("up");
}
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
moveTaskToBack(true);
}
return true;
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
if (AudioManager.STREAM_MUSIC > 0) {
buttonMinMute.setBackgroundResource(R.drawable.speaker_low_range);
audioManager.setStreamMute(AudioManager.STREAM_MUSIC, false);
}
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
推荐阅读
- django - 找不到 Django Elastic Beanstalk 托管的应用程序服务器
- android - cordova android 更新 compileSDK 版本
- python - 在条件为真时复制列第一个非零值,没有循环
- output - 为什么我们每次都要计算 RNN 的输出?
- ruby-on-rails - 将字符串转换为 JSON 有效格式
- database - 如何在 Flutter 中向 SQFlite 数据库添加提醒?
- regex - \Q 和 \E 内的散列
- python - 如何在 Python 中使用 Sqoop 导入 MySQL 数据?
- python - 如何将时间戳转换为熊猫 to_datetime?
- iphone - 在 iphone se 上无法正确显示