从数组中播放android中的mp3文件

时间:2016-05-26 16:08:15

标签: java android android-mediaplayer

我有一个0和1的数组,我每次尝试播放一个mp3文件#34; 1"在我的阵列中,当我有一个" 0"我希望应用程序等一下。我尝试了这个代码,它可以工作,但是当我进入循环时,应用程序被阻止了。还有其他方法吗?

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

    j++;
}

2 个答案:

答案 0 :(得分:0)

在睡眠过程中你会阻塞主线程,在另一个使用AsyncTask的情况下执行它,例如@ vilpe89说。 https://developer.android.com/reference/android/os/AsyncTask.html

答案 1 :(得分:0)

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

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