您的位置:首页 > 其它

播放音乐,SeekBar改变音大小

2017-07-25 16:25 344 查看
//拖动SeekBar改变音量大小

public class MainActivity extends Activity implements OnClickListener {

private Button start;
private SeekBar seekbar;
private ArrayList<String> list;
private MediaPlayer media;
private AudioManager audio;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
start = (Button) findViewById(R.id.start);
seekbar = (SeekBar) findViewById(R.id.seekbar);
list = new ArrayList<String>();
list.add("xxxxxxxx.mp3");
media = new MediaPlayer();
start.setOnClickListener(this);
// 得到控制音量的对象
audio = (AudioManager) getSystemService(AUDIO_SERVICE);
// 得到最大音量
int max = audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
// 得到当前音量
int now = audio.getStreamVolume(AudioManager.STREAM_MUSIC);
// 设置进度条的最大值
seekbar.setMax(max);
// 设置进度条的值为音量的当前值
seekbar.setProgress(now);
// 进度条的滑动时间,滑动进度条可以设置音量
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

@Override
public void onStopTrackingTouch(SeekBar seekBar) {

}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {

}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if (fromUser) {
audio.setStreamVolume(AudioManager.STREAM_MUSIC, progress,
0);
}
}
});
}

// 继承接口,实现的点击事件的方法
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.start:// 开始播放音乐
media.reset();
try {
// 从Assets里面打开当前的音乐
AssetFileDescriptor openFd = getAssets().openFd(list.get(0));
FileDescriptor file = openFd.getFileDescriptor();
media.setDataSource(file, openFd.getStartOffset(),
openFd.getLength());
media.prepare();
} catch (IOException e) {
e.printStackTrace();
}
media.start();
break;
default:
break;
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: