音乐

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();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值