package com.yarin.android.Examples_07_02;
import java.io.IOException;
import android.app.Activity;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
public class Activity01 extends Activity
{
private ImageButton mStopImageButton;
private ImageButton mStartImageButton;
private ImageButton mPauseImageButton;
private TextView mTextView;
private boolean bIsReleased = false;
private boolean bIsPaused = false;
private boolean bIsPlaying = false;
public MediaPlayer mMediaPlayer = new MediaPlayer(); ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mStopImageButton = (ImageButton) findViewById(R.id.StopImageButton);
mStartImageButton = (ImageButton) findViewById(R.id.StartImageButton);
mPauseImageButton = (ImageButton) findViewById(R.id.PauseImageButton);
mTextView = (TextView) findViewById(R.id.TextView01);
//ֹͣ��ť
mStopImageButton.setOnClickListener(new ImageButton.OnClickListener()
{
@Override
public void onClick(View v)
{
if (bIsPlaying == true)
{
if ( !bIsReleased )
{
mMediaPlayer.stop();
mMediaPlayer.release();
bIsReleased = true;
}
bIsPlaying = false;
mTextView.setText("��ǰ����ֹͣ״̬���밴��ʼ�������ֲ��ţ�");
}
}
});
//��ʼ��ť
mStartImageButton.setOnClickListener(new ImageButton.OnClickListener()
{
@Override
public void onClick(View v)
{
try
{
if ( !bIsPlaying )
{
bIsPlaying = true;
/* װ����Դ�е����� */
mMediaPlayer = MediaPlayer.create(Activity01.this, R.raw.test);
bIsReleased = false;
/* �����Ƿ�ѭ�� */
mMediaPlayer.setLooping(true);
try
{
mMediaPlayer.prepare();
}
catch (IllegalStateException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
mMediaPlayer.start();
mTextView.setText("��ǰ���ڲ������֣�");
}
}
catch (IllegalStateException e)
{
e.printStackTrace();
}
mMediaPlayer.setOnCompletionListener(new OnCompletionListener()
{
// @Override
public void onCompletion(MediaPlayer arg0)
{
mMediaPlayer.release();
}
});
}
});
//��ͣ
mPauseImageButton.setOnClickListener(new ImageButton.OnClickListener()
{
public void onClick(View view)
{
if (mMediaPlayer != null)
{
if (bIsReleased == false)
{
if (bIsPaused == false)
{
mMediaPlayer.pause();
bIsPaused = true;
bIsPlaying = true;
mTextView.setText("�Ѿ���ͣ�����ٴΰ���ͣ��ť�ظ����ţ�");
}
else if (bIsPaused == true)
{
mMediaPlayer.start();
bIsPaused = false;
mTextView.setText("���ָֻ����ţ�");
}
}
}
}
});
}
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ( keyCode == KeyEvent.KEYCODE_BACK)
{
if ( !bIsReleased )
{
mMediaPlayer.stop();
mMediaPlayer.release();
bIsReleased = true;
}
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}