packagecom.android.test;
import
android.app.Activity;
import
android.media.MediaPlayer;
import
android.os.Bundle;
import
android.view.View;
import
android.widget.ImageButton;
import
android.widget.TextView;
public
class
MediaPlayerDemo
extends
Activity{
private
ImageButtonmb1,mb2,mb3;
private
TextViewtv;
private
MediaPlayermp;
//声明一个变量判断是否为暂停,默认为false
private
boolean
isPaused=
false
;
public
void
onCreate(BundlesavedInstanceState){
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通过findViewById找到资源
mb1=(ImageButton)findViewById(R.id.myButton1);
mb2=(ImageButton)findViewById(R.id.myButton2);
mb3=(ImageButton)findViewById(R.id.myButton3);
tv=(TextView)findViewById(R.id.myTextView1);
//创建MediaPlayer对象,将raw文件夹下的lovefool.mp3
mp=MediaPlayer.create(
this
,R.raw.lovefool);
//增加播放音乐按钮的事件
mb1.setOnClickListener(
new
ImageButton.OnClickListener(){
@Override
public
void
onClick(Viewv){
try
{
if
(mp!=
null
)
{
mp.stop();
}
mp.prepare();
mp.start();
tv.setText(
"音乐播放中..."
);
}
catch
(Exceptione){
tv.setText(
"播放发生异常..."
);
e.printStackTrace();
}
}
});
mb2.setOnClickListener(
new
ImageButton.OnClickListener(){
@Override
public
void
onClick(Viewv){
try
{
if
(mp!=
null
)
{
mp.stop();
tv.setText(
"音乐停止播放..."
);
}
}
catch
(Exceptione){
tv.setText(
"音乐停止发生异常..."
);
e.printStackTrace();
}
}
});
mb3.setOnClickListener(
new
ImageButton.OnClickListener(){
@Override
public
void
onClick(Viewv){
try
{
if
(mp!=
null
)
{
if
(isPaused==
false
)
{
mp.pause();
isPaused=
true
;
tv.setText(
"停止播放!"
);
}
else
if
(isPaused==
true
)
{
mp.start();
isPaused=
false
;
tv.setText(
"开始播发!"
);
}
}
}
catch
(Exceptione){
tv.setText(
"发生异常..."
);
e.printStackTrace();
}
}
});
/*当MediaPlayer.OnCompletionLister会运行的Listener*/
mp.setOnCompletionListener(
new
MediaPlayer.OnCompletionListener()
{
//@Override
/*覆盖文件播出完毕事件*/
public
void
onCompletion(MediaPlayerarg0)
{
try
{
/*解除资源与MediaPlayer的赋值关系
*让资源可以为其它程序利用*/
mp.release();
/*改变TextView为播放结束*/
tv.setText(
"音乐播发结束!"
);
}
catch
(Exceptione)
{
tv.setText(e.toString());
e.printStackTrace();
}
}
});
/*当MediaPlayer.OnErrorListener会运行的Listener*/
mp.setOnErrorListener(
new
MediaPlayer.OnErrorListener()
{
@Override
/*覆盖错误处理事件*/
public
boolean
onError(MediaPlayerarg0,
int
arg1,
int
arg2)
{
//TODOAuto-generatedmethodstub
try
{
/*发生错误时也解除资源与MediaPlayer的赋值*/
mp.release();
tv.setText(
"播放发生异常!"
);
}
catch
(Exceptione)
{
tv.setText(e.toString());
e.printStackTrace();
}
return
false
;
}
});
}
}
MediaPlayerDemo.java
最新推荐文章于 2023-08-02 00:05:21 发布