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

标签 java android android-mediaplayer

我有一个包含 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,您可以在后台播放音乐。 同时,将一个 boolean 值连接到按钮以更改标志并调用该方法。

pd:对不起,我的英语不好 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();
    }

关于java - 从数组中播放android中的mp3文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37465996/

相关文章:

java - JList 类型的方法未定义 - 在哪里放置方法?

android - 非市场安装的应用程序用户可以发表评论和评级吗?

Android 使用 GTFS-Realtime(无 API)

android - 是否可以控制媒体播放器的质量?

android - 通过 HTTPS 传输 MP4 视频时 MediaPlayer 出现错误

java - Java中的静态方法和静态变量存储在哪里?

java - 确定用户感知字符数的正确算法是什么?

java - 将 Double 声明为 int compile vs not compile 但看起来相同

android - 在Android中,如何使用Chromecast实现 'Multi-track Audio Support'?

android - 应该有字幕 Controller 已经设置 Mediaplayer 错误 Android