1

この問題で私を助けてもらえますか? URL からストリーミングするシークバーがあります。textView に mediaplayer の currentTime を表示したいので、textview を更新して 1 秒ごとに currentTime を取得するにはどうすればよいですか

      new Thread(new Runnable()
      {
          public void run()
          {
              while(mediaPlayer!=null )
              {
                  seekprogress.setProgress(mediaPlayer.getCurrentPosition());
                  Message msg=new Message();
                  int millis = mediaPlayer.getCurrentPosition();

                  msg.obj=millis/1000;

                  try {
                      Thread.sleep(5000);
                  }
                  catch (InterruptedException e) {
                     e.printStackTrace();
                  }
                  seekprogress.setProgress(millis);
              }
          }
      }).start();
4

2 に答える 2

1

@thiagorrが言ったように、AsyncTaskを使用したサンプルコード

Timer seekBarTimer = new Timer();
TimerTask seekbarTimerTask = new TimerTask() {
    @Override
    public void run() {
        runOnUiThread(new Runnable() {
            @Override
            public void run() {
                // your condition and code here
                if (seekbar progress changes){
                    yourTextView.SetText(newString);
                }
            }
        });
    }
};
seekBarTimer.scheduleAtFixedRate(seekbarTimerTask, 1000, 1000);
于 2013-06-12T08:26:44.890 に答える
1

AsyncTask を使用します。

http://developer.android.com/reference/android/os/AsyncTask.html

onProgressUpdate 中に TextView を更新できます。

于 2013-05-27T15:46:31.713 に答える