2014-05-06 86 views
-1

我在res/raw文件夾中有很多聲音文件(.MP3)。我想逐一播放每個文件。如何在原始文件夾中播放MP3文件列表

這裏是我的代碼

int [] resID ={ R.raw.s1,R.raw.s2,R.raw.s3,R.raw.s4,R.raw.s5}; 

ArrayList<Integer> indexForMusic; 

.......................... 

.......................... 

// on click of play button 

public void playMusic(View v) 
{ 
    for(int i:indexForMusic) 
    { 
     MediaPlayer mediaPlayer=MediaPlayer.create(this,resID[i]); 
     mediaPlayer.start(); 
     try 
     { 
      wait(1000); 
     } 
     catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

但問題是,所有的MP3文件得到發揮simultanously,並沒有延遲beteew文件的播放..

請告訴我,我該怎麼一個接一個地播放音樂? 把wait()放在for循環中拋出一個異常。

回答

0

同時*, 或嘗試CountDownTimer

new CountDownTimer(1000, 100) 
{ 

public void onTick(long millisUntilFinished) { 

            } 
public void onFinish() { 
    mediaPlayer.start(); 
} 
}.start(); 
0

嘗試線程, 類似以下

Thread T=new Thread(new runnable(){ 
    public void run(){ 
    MediaPlayer mediaPlayer=MediaPlayer.create(this,resID[i]); 
      mediaPlayer.start(); 
      try 
      { 
       sleep(1000); 
      } 
      catch (InterruptedException e) { 
       e.printStackTrace(); 
      } 

    } 

    } 
    ); 
    T.start();