package MyMusicPlayer.hqh;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
public class MyMusicPlayerAct extends Activity {
/** Called when the activity is first created. */
private ImageButton playOrPauseBtn;//播放或者暂停按钮
private MediaPlayer mMediaPlayer;//MediaPlayer对象
private Button ExitBtn; //退出按钮
private boolean isPlaying;//是否播放
private boolean ispause = false;//是否播放
private LrcRead mLrcRead;
private LyricView mLyricView;
private int CurrentTime=0;
private int CountTime=0;
private List<LyricContent> LyricList = new ArrayList<LyricContent>();
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SysApplication.getInstance().addActivity(this);
init();
try {
mLrcRead.Read("sdcard/aix.lrc");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//放置歌词
LyricList = mLrcRead.GetLyricContent();
mLyricView.setSentenceEntities(LyricList);
mHandler.post(mRunnable);
OnClickListener btnlistener = new OnClickListener() {
public void onClick(View v)
{
playOrPauseMusic("sdcard/aix.mp3");
}
};
OnClickListener exitlistener = new OnClickListener() {
public void onClick(View v)
{
SysApplication.getInstance().exit();
}
};
playOrPauseBtn.setOnClickListener(btnlistener);
ExitBtn.setOnClickListener(exitlistener);
}
private void playOrPauseMusic(String msrc){
isPlaying = mMediaPlayer.isPlaying();
try {
if (isPlaying)
{
mMediaPlayer.pause();//暂停
ispause = true;
playOrPauseBtn.setImageResource(R.drawable.play);//设置为播放按钮
}
else
{
if (ispause)
{
mMediaPlayer.start();
}
else
{
mMediaPlayer.reset();
mMediaPlayer.setDataSource(msrc);
mMediaPlayer.prepare();
mMediaPlayer.start();
ispause = false;
}
playOrPauseBtn.setImageResource(R.drawable.pause);
}
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
//初始化
private void init(){
//player = MediaPlayer.create(this, R.raw.lwaq);
mMediaPlayer = new MediaPlayer();
mLrcRead=new LrcRead();
playOrPauseBtn = (ImageButton) findViewById(R.id.playbtn);
ExitBtn = (Button) findViewById(R.id.exitbtn);
mLyricView=(LyricView)findViewById(R.id.LyricShow);
}
Handler mHandler=new Handler();
Runnable mRunnable= new Runnable() {
public void run() {
mLyricView.SetIndex(getindex());
mLyricView.invalidate();
mHandler.postDelayed(mRunnable, 100);
}
};
public int getindex()
{
if(mMediaPlayer.isPlaying())
{
CurrentTime=mMediaPlayer.getCurrentPosition();
CountTime=mMediaPlayer.getDuration();
}
int index = 0;
if (CurrentTime < CountTime)
{
for(int i = 0; i < LyricList.size(); i++)
{
if (i<LyricList.size()-1)
{
if(CurrentTime < LyricList.get(i).getLyricTime() && i == 0)
index = i;
if(CurrentTime > LyricList.get(i).getLyricTime() && CurrentTime
< LyricList.get(i + 1).getLyricTime())
index = i;
}
if (i == LyricList.size()-1 && CurrentTime > LyricList.get(i).getLyricTime())
{
index=i;
}
}
}
return index;
}
}
- 1
- 2
前往页