2012-03-14 63 views
2

如何創建一個線程,每秒會檢查歌曲位置並根據歌曲位置移動搜索欄。我使用的打擊代碼是遊戲只有兩個songs..then這是從我的applicatin敬而遠之線程在安卓媒體播放器上使用seekbar

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(); 
      } 
+0

我有第二首歌playing..in這之後的厚望while循環條件while(mp!= null && mp.getCurrentPosition() Palaniraja 2012-03-14 13:09:26

+0

您應該與我們分享您的堆棧跟蹤。我們並不擅長猜測...... – WarrenFaith 2012-03-14 13:15:53

回答

2

下面的編碼工作正常

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(); 
    } 
} 
+0

你是否在服務中使用過它? – 2014-08-01 05:46:19

+0

yes.i在我的應用程序中使用了此代碼 – Palaniraja 2014-08-01 05:55:48