Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MediaPlayer getCurrentPosition()问题_Android_Android Mediaplayer - Fatal编程技术网

Android MediaPlayer getCurrentPosition()问题

Android MediaPlayer getCurrentPosition()问题,android,android-mediaplayer,Android,Android Mediaplayer,你能帮我解决这个问题吗?我有一个seekbar,从url流式传输,我想在文本视图中显示mediaplayer的currentTime,那么如何更新文本视图以每秒获取currentTime new Thread(new Runnable() { public void run() { while(mediaPlayer!=null ) { se

你能帮我解决这个问题吗?我有一个seekbar,从url流式传输,我想在文本视图中显示mediaplayer的currentTime,那么如何更新文本视图以每秒获取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();
使用异步任务:


您可以在onProgressUpdate期间更新TextView

只是一些使用AsyncTask的示例代码,如@thiagolr所说

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);

使用处理程序而不是线程。。。