Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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 如何在循环中播放原始文件夹中的mp3文件列表_Android_Android Mediaplayer - Fatal编程技术网

Android 如何在循环中播放原始文件夹中的mp3文件列表

Android 如何在循环中播放原始文件夹中的mp3文件列表,android,android-mediaplayer,Android,Android Mediaplayer,我在res/raw文件夹中有许多声音文件.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 voi

我在res/raw文件夹中有许多声音文件.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文件都是同时播放的,而且播放文件之间没有延迟

请告诉我怎样才能一个接一个地播放音乐? 将wait放入for循环中会引发异常

同时*, 或者试试倒计时

new CountDownTimer(1000, 100) 
{

public void onTick(long millisUntilFinished) {

                                     }
public void onFinish() {
    mediaPlayer.start();
}
}.start();
试试这条线, 像下面这样的

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