package com.youplayer;
import java.io.IOException;
import android.app.Activity;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.media.MediaPlayer.OnErrorListener;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.SeekBar;
import android.widget.TextView;
import com.youplayer.player.R;
public class StartMp3Activity extends Activity {
/** Called when the activity is first created. */
private ImageButton mStart, mPause, mNext, mBefore, mStop;
private TextView mTextView;
// // private ImageView mImageView;
private boolean bIsPaused = false;
private boolean bIsReleased = false;
private MediaPlayer mMediaPlayer;
private OnClickListener mStartOnClickListener = new OnClickListener() {
public void onClick(View v) {
if(bIsPaused == true){
mMediaPlayer.start();
bIsPaused = false;
mStart.setVisibility(View.GONE);
mPause.setVisibility(View.VISIBLE);
return ;
}
// mStart.setImageResource(R.drawable.play_start);
// mImageView.setImageResource(R.drawable.play_started);
// mPause.setImageResource(R.drawable.play_pause);
try {
if (mMediaPlayer.isPlaying() == true) {
// ��mMediaPlayer����
mMediaPlayer.reset();
}
mMediaPlayer.setDataSource(url);
mMediaPlayer.prepare();
mMediaPlayer.start();
mPause.setVisibility(View.VISIBLE);
v.setVisibility(View.GONE);
// mTextView.setText("kai s h");
} catch (IllegalArgumentException e) {
// mTextView.setText(e.toString());
e.printStackTrace();
} catch (IOException e) {
// mTextView.setText(e.toString());
e.printStackTrace();
} catch (Exception e) {
// mTextView.setText(e.toString());
e.printStackTrace();
}
}
};
private OnClickListener mPauseOnClickListener = new OnClickListener() {
public void onClick(View v) {
if (mMediaPlayer != null) {
if (bIsReleased == false) {
if (bIsPaused == false) {
// ����mMediaPlayer��ͣ����
mMediaPlayer.pause();
bIsPaused = true;
mStart.setVisibility(View.VISIBLE);
mPause.setVisibility(View.GONE);
// mTextView.setText(R.string.str_pause);
// mImageView.setImageResource(R.drawable.play_paused);
// mStart.setImageResource(R.drawable.play_start);
// mPause.setText("start");
} else if (bIsPaused == true) {
mMediaPlayer.start();
bIsPaused = false;
mStart.setVisibility(View.GONE);
mPause.setVisibility(View.VISIBLE);
// mTextView.setText(R.string.str_start);
// mImageView.setImageResource(R.drawable.play_started);
// mStart.setImageResource(R.drawable.play_start);
// mPause.setText("pause");
}
}
}
}
};
private OnClickListener mNextOnClickListener = new OnClickListener() {
public void onClick(View v) {
// mStart.setText("start");
// mImageView.setImageResource(R.drawable.play_before_one);
try {
if (mMediaPlayer.isPlaying() == true) {
// ��mMediaPlayer����
mMediaPlayer.reset();
}
// ����mMediaPlayer��ȡSDcard���ļ�
mMediaPlayer.setDataSource("/sdcard/zhangliangying.mp3");
mMediaPlayer.prepare();
// ��mMediaPlayer����
mMediaPlayer.start();
mTextView.setText(R.string.str_start);
// mImageView.setImageResource(R.drawable.play_started);
} catch (IllegalArgumentException e) {
mTextView.setText(e.toString());
e.printStackTrace();
} catch (IOException e) {
mTextView.setText(e.toString());
e.printStackTrace();
} catch (Exception e) {
mTextView.setText(e.toString());
e.printStackTrace();
}
}
};
private OnClickListener mBeforeOnClickListener = new OnClickListener() {
public void onClick(View v) {
// mStart.setImageResource(R.drawable.play_start);
// mStart.setText("start");
// mImageView.setImageResource(R.drawable.play_next_one);
if (mMediaPlayer.isPlaying() == true) {
// ��mMediaPlayer����
mMediaPlayer.reset();
}
try {
// ����mMediaPlayer��ȡSDcard���ļ�
mMediaPlayer.setDataSource("/sdcard/chuanqi.mp3");
mMediaPlayer.prepare();
// ��mMediaPlayer����
mMediaPlayer.start();
mTextView.setText(R.string.str_start);
// mImageView.setImageResource(R.drawable.play_started);
} catch (IllegalArgumentException e) {
mTextView.setText(e.toString());
e.printStackTrace();
} catch (IOException e) {
mTextView.setText(e.toString());
e.printStackTrace();
} catch (Exception e) {
mTextView.setText(e.toString());
e.printStackTrace();
}
}
};
private OnClickListener mStopOnClickListener = new OnClickListener() {
public void onClick(View v) {
if (mMediaPlayer.isPlaying() == true) {
// ��mMediaPlayer����
mMediaPlayer.reset();
mTextView.setText(R.string.str_stop);
// mStart.setImageResource(R.drawable.play_start);
// mPause.setImageResource(R.drawable.play_pause);
// mImageView.setImageResource(R.drawable.play_stoped);
}
}
};
private OnCompletionListener mOnCompletionListener = new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
mMediaPlayer.reset();
mTextView.setText(R.string.str_finished);
// mStart.setImageResource(R.drawable.play_start);
// mStart.setText("start");
// mImageView.setImageResource(R.drawable.play_started);
}
};
private OnErrorListener mErrorListener = new OnErrorListener() {
public boolean onError(MediaPlayer mp, int what, int extra) {
try {
// ���������ʱҲ�����Դ��MediaPlayer�ĸ�ֵ���ͷ���Դ
mMediaPlayer.release();
// �ı���ʾ��Ϣ
mTextView.setText(R.string.str_OnErrorListener);
} catch (Exception e) {
mTextView.setText(e.toString());
e.printStackTrace();
}
return false;
}
};
private String url;
private SeekBar seeker;
private TextView totaltime;
private TextView currentime;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.music_player_layout);
Intent intent = getIntent();
url = intent.getStringExtra("URL");
mMediaPlayer = new MediaPlayer();
mStart = (ImageButton) findViewById(R.id.btn_play);
mPause = (ImageButton) findViewById(R.id.btn_pause);
// mNext = (Button) findViewById(R.id.play_next);
// mBefore = (Button) findViewById(R.id.play_before);
// mStop = (Button) findViewById(R.id.play_stop);
// // mImageView = (ImageView) findViewById(R.id.mImageView);
// mTextView = (TextView) findViewById(R.id.mText);
mTextView = (TextView)findViewById(R.id.title);
seeker = (SeekBar)findViewById(R.id.playback_seeker);
seeker.setVisibility(View.GONE);
totaltime = (TextView)findViewById(R.id.tv_totalTime);
currentime = (TextView)findViewById(R.id.tv_curTime);
totaltime.setVisibility(View.GONE);
currentime.setVisibility(View.GONE);
TextView tv = (TextView) findViewById(R.id.title);
tv.setVisibility(View.GONE);
TextView content = (TextView) findViewById(R.id.content);
content.setText(url);
mStart.setOnClickListener(mStartOnClickListener);
mPause.setOnClickListener(mPauseOnClickListener);
// mStop.setOnClickListener(mStopOnClickListener);
mMediaPlayer.setOnCompletionListener(mOnCompletionListener);
mMediaPlayer.setOnErrorListener(mErrorListener);
}
Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case 0x1233:
int cur = (Integer) msg.obj;
currentime.setText(cur);
// totaltime.setText();
seeker.setProgress(cur*100/dur);
break;
default:
break;
}
};
};
private boolean open = true;
private int dur ;
@Override
protected void onResume() {
open = true;
// new Thread(){
//
//
// private int cur;
//
// public void run(){
//// if(mMediaPlayer != null && mMediaPlayer.isPlaying()){
//// dur = mMediaPlayer.getDuration();
////
//// Message msg = new Message();
//// msg.obj = dur;
//// msg.what = 0x1233;
//// handler.sendMessage(msg);
////// seeker.setMax(dur);
//// }
// while(open){
// if(mMediaPlayer != null && mMediaPlayer.isPlaying()){
// cur = mMediaPlayer.getCurrentPosition();
// Message msg = new Message();
// msg.obj = cur;
// msg.what = 0x1233;
// handler.sendMessage(msg);
//// currentime.setText(cur);
//// seeker.setProgress(cur*100/dur);
// }
// }
//
// }
// }.start();
super.onResume();
}
/*
* ��д��������ͣ״̬�¼�
*/
protected void onPause() {
open = false;
try {
// ����������ͣʱ�����Դ��MediaPlayer�ĸ�ֵ��ϵ
mMediaPlayer.release();
} catch (Exception e) {
mTextView.setText(e.toString());
e.printStackTrace();
}
super.onPause();
}
}