我正在使用管理seekbar的Android服務。 下面是代碼(我只是把有關搜索條的代碼):Android服務:seekbar無法正常工作
public class MediaPlayerService extends Service implements
Runnable,
SeekBar.OnSeekBarChangeListener {
private MediaPlayer mediaPlayer = null;
private AudioManager audioManager;
private SeekBar seekBarTime;
@Override
public void onCreate() {
//SET SEEKBAR
LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.play_song , null);
seekBarTime = (SeekBar) layout.findViewById(R.id.seekBarTime);
seekBarTime.setOnSeekBarChangeListener(this);
Thread thread = new Thread(this);
thread.start();
}
public void run() {
if(mediaPlayer != null) {
int currentPosition = 0;
int total = mediaPlayer.getDuration();
seekBarTime.setMax(total);
while (currentPosition < total && mediaPlayer != null) {
try {
Thread.sleep(1000);
currentPosition = mediaPlayer.getCurrentPosition();
} catch (InterruptedException e) {
return;
} catch (Exception e) {
return;
}
seekBarTime.setProgress(currentPosition);
}
}
}
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
Log.w("disgustingapps", "seekbar");
if (fromUser == true) {
mediaPlayer.seekTo(progress);
}
}
public void onStartTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar) {
// TODO Auto-generated method stub
}
}
的問題有兩個。我將嘗試用我的英語不好解釋: 1)我想讓服務自動更新seekbar以顯示歌曲的當前時間(mediaPlayer.getCurrentPosition()) 2)我希望用戶被允許移動搜索欄以便在歌曲的時間間移動 這兩件事都不起作用。似乎seekbar與代碼完全「獨立」。我的意思是:光標根本不移動,而且如果用戶移動它,則歌曲繼續而不做任何事情。 請幫我 預先感謝您