易网时代-编程资源站
Welcome
微信登录
编程资源
图片资源库
蚂蚁家优选
PDF转换器
首页
/
操作系统
/
Linux
/
Android音乐播放MediaPlayer
Android音乐播放MediaPlayer代码,很简单的例子程序,根据拖动,可是实现歌曲的不同位置的播放。
package
mars.com;
import
android.app.Activity;
import
android.media.MediaPlayer;
import
android.media.MediaPlayer.OnCompletionListener;
import
android.os.AsyncTask;
import
android.os.Bundle;
import
android.view.View;
import
android.view.View.OnClickListener;
import
android.widget.Button;
import
android.widget.SeekBar;
import
android.widget.SeekBar.OnSeekBarChangeListener;
import
android.widget.TextView;
public
class
DemoMP3Activity
extends
Activity {
private
Button play;
private
Button pause;
private
Button stop;
private
TextView info;
private
SeekBar seekBar;
private
MediaPlayer mediaPlayer;
private
boolean
isPlay =
true
;
// 播放标记
private
boolean
isPause =
false
;
// 暂停标记
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
info = (TextView) findViewById(R.id.textView1);
play = (Button) findViewById(R.id.button1);
pause = (Button) findViewById(R.id.button2);
stop = (Button) findViewById(R.id.button3);
seekBar = (SeekBar) findViewById(R.id.seekBar1);
this
.play.setOnClickListener(
new
OnClickListener() {
public
void
onClick(View v) {
mediaPlayer = MediaPlayer.create(getApplicationContext(),
R.raw.bird);
if
(mediaPlayer !=
null
) {
mediaPlayer.stop();
}
seekBar.setMax(mediaPlayer.getDuration());
// 设置拖拽条的长度
UpdateThread update =
new
UpdateThread();
update.execute(
1000
);
// 每一秒就更新一次进度条
DemoMP3Activity.
this
.mediaPlayer
.setOnCompletionListener(
new
OnCompletionListener() {
public
void
onCompletion(MediaPlayer mp) {
// 如果播放完了
isPlay =
false
;
mediaPlayer.release();
// 释放资源
}
});
try
{
mediaPlayer.prepare();
mediaPlayer.start();
info.setText(
"正在播放"
);
}
catch
(Exception e) {
info.setText(e.toString());
}
}
});
this
.pause.setOnClickListener(
new
OnClickListener() {
public
void
onClick(View v) {
if
(mediaPlayer !=
null
) {
if
(isPause ==
false
) {
mediaPlayer.pause();
isPause =
true
;
info.setText(
"暂停播放"
);
}
else
{
mediaPlayer.start();
isPause =
false
;
info.setText(
"继续播放"
);
}
}
}
});
this
.stop.setOnClickListener(
new
OnClickListener() {
public
void
onClick(View v) {
if
(mediaPlayer !=
null
) {
mediaPlayer.stop();
info.setText(
"停止播放"
);
}
}
});
this
.seekBar.setOnSeekBarChangeListener(
new
OnSeekBarChangeListener() {
public
void
onStopTrackingTouch(SeekBar seekBar) {
mediaPlayer.seekTo(seekBar.getProgress());
}
public
void
onStartTrackingTouch(SeekBar seekBar) {
}
public
void
onProgressChanged(SeekBar seekBar,
int
progress,
boolean
fromUser) {
}
});
}
private
class
UpdateThread
extends
AsyncTask<Integer, Integer, String> {
@Override
protected
void
onPostExecute(String result) {
super
.onPostExecute(result);
}
@Override
protected
void
onProgressUpdate(Integer... values) {
seekBar.setProgress(values[
0
]);
// 更新
}
@Override
protected
String doInBackground(Integer... params) {
while
(isPlay) {
try
{
Thread.sleep(params[
0
]);
}
catch
(InterruptedException e) {
e.printStackTrace();
}
this
.publishProgress(mediaPlayer.getCurrentPosition());
// 将media的当前进度传递过去
}
return
null
;
}
}
}
收藏该网址
版权所有©石家庄振强科技有限公司2024
冀ICP备08103738号-5
网站地图