使用MediaPlayer,代码不全,按钮没有初始化
public class startvideo extends Activity implements OnClickListener,
OnPreparedListener, OnErrorListener, OnCompletionListener {
private Button btplay, btpause, btnext, btprev;
private MediaPlayer mp;
private int index = 0;
private ArrayList<String> mplist = new ArrayList<String>();
private boolean isPsuse=false;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
mp = new MediaPlayer();
initMusic();
}
private void initMusic() {
String path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MUSIC).getPath();
mplist.add(path + File.separator + "a.mp3");
mplist.add(path + File.separator + "b.mp3");
mplist.add(path + File.separator + "c.mp3");
}
@Override
public void onCompletion(MediaPlayer arg0) {
// 播放完成
next();
}
@Override
public boolean onError(MediaPlayer arg0, int arg1, int arg2) {
// 播放报错
mp.reset();
return true;
}
@Override
public void onPrepared(MediaPlayer arg0) {
// 播放准备
mp=new MediaPlayer();
}
public void paly(){
if(isPsuse){
mp.start();
isPsuse=false;
}else{
Start();
isPsuse=false;
}
}
//暂停功能
public void pause(){
if(mp.isPlaying()){
mp.pause();
isPsuse=true;
}
}
//下一首
public void next(){
if(index-1>0){
index--;
}else{
index=mplist.size()-1;
}
Start();
isPsuse=false;
}
//上一首
public void prev(){
if(index<mplist.size()-1){
index++;
}else{
index=0;
}
Start();
isPsuse=false;
}
//从头开始
public void Start(){
if(index<mplist.size()){
String string = mplist.get(index);
if(mp.isPlaying()){
mp.reset();
}
try {
mp.setDataSource(string);
mp.prepareAsync();
mp.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer arg0) {
// TODO Auto-generated method stub
mp.start();
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.play:
mp.start();
break;
case R.id.next:
next();
break;
case R.id.paues:
pause();
break;
case R.id.prev:
prev();
break;
default:
break;
}
}
}