如何创建一个线程,每秒检查歌曲位置并根据歌曲位置移动搜索栏。我使用了打击代码,它只播放两首歌..然后它就从我的应用程序中消失了
public class setp implements MediaPlayer.OnPreparedListener
{
public void onPrepared(MediaPlayer mps) {
// TODO Auto-generated method stub
seekbar.setMax(mp.getDuration());
new Thread(new Runnable() {
public void run() {
while(mp!=null && mp.getCurrentPosition()<mp.getDuration())
{
seekbar.setProgress(mp.getCurrentPosition());
Message msg=new Message();
int millis = mp.getCurrentPosition();
msg.obj=millis/1000;
try {
Thread.sleep(100);
}
catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
}
最佳答案
下面的代码工作正常
public class setp implements MediaPlayer.OnPreparedListener {
public void onPrepared(MediaPlayer mps) {
// TODO Auto-generated method stub
seekbar.setMax(mp.getDuration());
System.out.println("curpos" + mp.getCurrentPosition());
new Thread(new Runnable() {
public void run() {
try {
while (mp != null && mp.getCurrentPosition() < mp.getDuration()) {
seekbar.setProgress(mp.getCurrentPosition());
Message msg = new Message();
int millis = mp.getCurrentPosition();
msg.obj = millis / 1000;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
System.out.println("interrupt exeption" + e);
}
} // end while
} catch (Exception e) {
e.printStackTrace();
System.out.println("my Exception" + e);
}
}
}).start();
}
}
关于android - Android 媒体播放器上用于搜索栏的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9702613/