音乐播放器之(音量控制的实现)
2017-05-18 23:58
253 查看
今天介绍一下音乐播放器的声音控制逻辑,安卓没接触多久,不对的地方忘大神指出,适用于初学者。
首先,我们需要一个类AudioManager此类为管理器,来控制音量,下面是需要定义的变量AudioManager am;//管理器控制音量
SeekBar seekBar_time,seekBar_listen;//时间进度条,声音进度条
int maxVolume =50;//最大音量
int curVolume =20;//当前音量
int stepVolume =0;//每次调整的音量幅度
TextView mAddVolume,mLessVolume;//加减音乐
第二部实例化此类控件
seekBar_listen =(SeekBar)findViewById(R.id.sb_volume);
mAddVolume = (TextView) findViewById(R.id.tv_add_volume);
mLessVolume = (TextView) findViewById(R.id.tv_less_volume);
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
maxVolume =am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
curVolume =maxVolume/2;
stepVolume =maxVolume/6;
seekBar_listen.setMax(maxVolume);
seekBar_listen.setProgress(curVolume);
第三部控制音量大小及Seekbar的逻辑
/**
* 声音seekbar监听调节音量
*/
seekBar_listen.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
curVolume =seekBar_listen.getProgress();
adjustVolume();
}
});
}
/**
* 加大音乐
*/
public void addVolume(View view){
curVolume+=stepVolume;
if(curVolume>=maxVolume){
curVolume = maxVolume;
}
seekBar_listen.setProgress(curVolume);
adjustVolume();
}
/**
* 减小音乐
*/
public void lessVolume(View view){
curVolume-=stepVolume;
if(curVolume<=0){
curVolume = 0;
}
seekBar_listen.setProgress(curVolume);
adjustVolume();
}
/**
* 调整音量
*/
private void adjustVolume(){
am.setStreamVolume(AudioManager.STREAM_MUSIC,curVolume,AudioManager.FLAG_PLAY_SOUND);
}以下是音量控制界面
首先,我们需要一个类AudioManager此类为管理器,来控制音量,下面是需要定义的变量AudioManager am;//管理器控制音量
SeekBar seekBar_time,seekBar_listen;//时间进度条,声音进度条
int maxVolume =50;//最大音量
int curVolume =20;//当前音量
int stepVolume =0;//每次调整的音量幅度
TextView mAddVolume,mLessVolume;//加减音乐
第二部实例化此类控件
seekBar_listen =(SeekBar)findViewById(R.id.sb_volume);
mAddVolume = (TextView) findViewById(R.id.tv_add_volume);
mLessVolume = (TextView) findViewById(R.id.tv_less_volume);
am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
maxVolume =am.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
curVolume =maxVolume/2;
stepVolume =maxVolume/6;
seekBar_listen.setMax(maxVolume);
seekBar_listen.setProgress(curVolume);
第三部控制音量大小及Seekbar的逻辑
/**
* 声音seekbar监听调节音量
*/
seekBar_listen.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
curVolume =seekBar_listen.getProgress();
adjustVolume();
}
});
}
/**
* 加大音乐
*/
public void addVolume(View view){
curVolume+=stepVolume;
if(curVolume>=maxVolume){
curVolume = maxVolume;
}
seekBar_listen.setProgress(curVolume);
adjustVolume();
}
/**
* 减小音乐
*/
public void lessVolume(View view){
curVolume-=stepVolume;
if(curVolume<=0){
curVolume = 0;
}
seekBar_listen.setProgress(curVolume);
adjustVolume();
}
/**
* 调整音量
*/
private void adjustVolume(){
am.setStreamVolume(AudioManager.STREAM_MUSIC,curVolume,AudioManager.FLAG_PLAY_SOUND);
}以下是音量控制界面
相关文章推荐
- GL音乐播放器--代码实现<四>--进度控制和可隐藏的音量控制
- 一个函数实现调节录音控制麦克风输入音量
- win7 系统下实现音量控制
- 音乐播放器项目技术之一音乐播放进度及音量的控制
- android-----音乐播放器的音量控制功能(开发)
- 通过winform实现电脑音量控制
- [原]用三行代码实现对音量的控制,实现增大,减小,静音
- 音乐播放器的歌曲进度调节和音量大小调节实现
- C代码实现控制Win 7系统音量
- Android音乐播放器SeekBar控制音量变化的实现
- directshow实现音频采集设备的输入音量控制和媒体文件播放音量控制
- 转载:cocos2d-x下硬件音量按键控制游戏音量的实现
- Android应用--简、美音乐播放器增加音量控制
- 【Unity快速实现小功能】声音控制三部曲之(三)—— 声音、音效开关以及音量大小控制
- C#控制音量、实现摄像头
- C#控制音量、实现摄像头(荐)
- Android应用--简、美音乐播放器增加音量控制
- audio 基本功能实现(audio停止播放,audio如何静音,audio音量控制等)
- 在Xcode当中用slider和switch控件实现音乐的开关和音量控制
- 控制音乐播放器的退出再次播放相同音乐的功能实现