正常打开的情况下SeekBar是会正常移动的,当暂停后,正常或异常退出播放器,超过1分钟的情况下,再返回音乐播放器,在播放刚才播放的音乐SeekBar就不会移动,只有在手动拖动,或者该曲播放完毕的情况下才会移动……请高手分析下为什么会出现这种情况?????????
解决方案 »
- 蓝牙连接问题
- TextView.setText疑问
- 如何修改android虚拟机的MEID号呢?
- Android Launcher 仿 Mac
- 如何用自定义adapter在listview中使用checkbox
- 请问如果把一张图片设置成墙纸
- 后台服务器什么技术搭建
- 不能建立android工程项
- Android开发小错误java.lang.NullPointerException
- android Camera2 录像 TextureView 异常 困扰两天了 求大佬指点
- 有用achartengine画柱状图的朋友吗?有个问题请教一下
- 关于android 通过webservice连接服务器的问题?
import android.media.MediaPlayer;
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;public class MediaPlayerActivity extends Activity implements Runnable{
/** Called when the activity is first created. */
// private MediaPlayer mediaPlayer;
private ImageButton ibtnPlay;
private ImageButton ibtnPause;
private SeekBar sbarMedia;
private int total;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ibtnPlay = (ImageButton) findViewById(R.id.ibtnPlay);
ibtnPause = (ImageButton) findViewById(R.id.ibtnPause);
sbarMedia = (SeekBar) findViewById(R.id.sbarMedioPlayer);
// mediaPlayer = MediaPlayer.create(this,R.raw.mp3_file_name);//创建MediaPlayer对象,讲raw文件下的mp3添加
sbarMedia.setProgress(0);
// total = mediaPlayer.getDuration();
ibtnPause.setVisibility(View.INVISIBLE); //初始界面设置暂停按钮不可见
ibtnPlay.setOnClickListener(new OnClickListener(){ //单击播放按钮
@Override
public void onClick(View arg0) {
// mediaPlayer.start();
sbarMedia.setMax(total); //设置拖动条的最大值
ibtnPlay.setVisibility(View.INVISIBLE); //播放按钮不可见
ibtnPause.setVisibility(View.VISIBLE); //暂停按钮可见
}
});
ibtnPause.setOnClickListener(new OnClickListener(){ //单击暂停按钮
@Override
public void onClick(View arg0) {
// if(mediaPlayer.isPlaying()){
// mediaPlayer.pause();
ibtnPlay.setVisibility(View.VISIBLE); //播放按钮可见
ibtnPause.setVisibility(View.INVISIBLE); //暂停按钮不可见
// }
}
});
sbarMedia.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if(fromUser){
// mediaPlayer.seekTo(progress);
sbarMedia.setProgress(progress);
}
}
});
Thread currentThread = new Thread(this);
currentThread.start();
}
@Override
public void run() {
try {
// while(mediaPlayer != null){
// int currentPosition = mediaPlayer.getCurrentPosition();
Message msg = new Message();
// msg.what = currentPosition;
threadHandler.sendMessage(msg);
// }
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private Handler threadHandler = new Handler(){
public void handleMessage(Message msg){
sbarMedia.setProgress(msg.what);
}
};
}
/**
*SeekBar不动,手托也动不了