package com.bawei;
import java.text.SimpleDateFormat;
import java.util.Timer;
import java.util.TimerTask;
import android.R.layout;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
public class MainActivity extends Activity {
private SeekBar seekBar;
private MediaPlayer mediaPlayer;
private TextView tvz, tvs;
private int i;
private Timer timer;
int[] arr = new int[] { R.raw.bag, R.raw.aa, R.raw.qq };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化
intint();
}
private void intint() {
tvs = (TextView) findViewById(R.id.tvs);
tvz = (TextView) findViewById(R.id.tvz);
seekBar = (SeekBar) findViewById(R.id.seek);
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
//停止触摸
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
int p=seekBar.getProgress();
if(mediaPlayer!=null){
mediaPlayer.seekTo(p);
startMusic(i);
}
}
//开始触摸
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
if(timer!=null){
timer.cancel();
}
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// TODO Auto-generated method stub
if(fromUser){
tvs.setText(datesim(progress));
}
}
});
}
// 开始
public void start(View view) {
startMusic(i);
}
// 暂停
public void popse(View view) {
if(mediaPlayer!=null){
mediaPlayer.pause();
}
}
//停止
public void stope(View view) {
stopeMusic();
}
// 下一首
public void next(View view) {
i+=1;
if(i<arr.length){
stopeMusic();
startMusic(i);
}else {
i=0;
stopeMusic();
startMusic(i);
}
}
// 上一首
public void text(View view) {
i-=1;
if(i>=0){
stopeMusic();
startMusic(i);
}else {
i=arr.length-1;
stopeMusic();
startMusic(i);
}
}
//开始方法
public void startMusic(int p){
if(mediaPlayer!=null){
mediaPlayer.start();
}else{
mediaPlayer=MediaPlayer.create(this, arr[p]);
mediaPlayer.start();
}
mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
//调用下一首
next(null);
}
});
seekBar();
}
//停止音乐方法
public void stopeMusic(){
if(mediaPlayer!=null){
if(timer!=null){
timer.cancel();
}
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer=null;
}
}
//时间换算
public String datesim(long date){
SimpleDateFormat simp=new SimpleDateFormat(“mm:ss”);
String string=simp.format(date);
return string;
}
public void seekBar(){
//获取最大值
int pro=mediaPlayer.getDuration();
seekBar.setMax(pro);
String str=datesim(pro);
tvz.setText(str);
timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
if(mediaPlayer!=null){
runOnUiThread(new Runnable() {
@Override
public void run() {
//得到播放时间
int t=mediaPlayer.getCurrentPosition();
seekBar.setProgress(t);
String st=datesim(t);
tvs.setText(st);
}
});
}
}
}, 0,500);
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
stopeMusic();
}
}