从数组中播放安卓中的mp3文件



我有一个包含 0 和 1 的数组,我每次都尝试为数组中的每个"1"播放 mp3 文件,当我有一个"0"时,我希望应用程序等待一秒钟。我尝试了这段代码,它可以工作,但是当我进入循环时该应用程序被阻止了。还有其他方法可以做到这一点吗?

while(j < c.size()){
    if(c.get(j)==1) {
        mediaPlayer.start();
        SystemClock.sleep(1000);
    }
    else SystemClock.sleep(1000);
    j++;
}

尝试使用 AsyncTask,您可以在后台播放音乐。同时,将一个布尔值连接到按钮以更改标志并调用该方法。

pd:sry my bad English xD

public void mAsyncTask() {
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                while (--Here put a boolean--) {
                    mediaPlayer.start();
                    try {
                        Thread.sleep(--put here a pause in millisec--);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                return null;
            }
        }.execute();
    }

在睡眠期间,您正在阻塞主线程,例如,如@vilpe89所说,使用 AsyncTask 在另一个线程中执行此操作。 https://developer.android.com/reference/android/os/AsyncTask.html

最新更新