在循环设置后逐个播放音频文件

时间:2017-09-22 09:41:00

标签: java android sqlite media-player

我有大约6236个音频文件。我正在做的是我从数据库中获取int值并将它们设置为循环。例如,查询后我得到'a'中的1和'b'中的7。现在我尝试在for(int i=a;i<=b;i++)这样的循环中使用它们并将它传递到我的Path中,逐个播放Audios,但一次播放7个音频。我在循环中从数据库中动态设置值。我想要做的就是一个一个地播放它们但是我被卡住了。 这是我的代码:

    DatabaseAccess db=DatabaseAccess.getInstance(getApplicationContext());

    db.open();
    mycursor= db.getblindfirst(newid);
    scursor= db.getblindlast(newid);
    scursor.moveToFirst();
    mycursor.moveToFirst();
    a= mycursor.getInt(0);
     b=scursor.getInt(0);

                for (int i=a;i<=b;i++){
                try {


                    mPlayer.setDataSource("/mnt/sdcard/audio/aya(" + i + ").mp3");

                    mPlayer.prepare();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                mPlayer.start();

            }


    db.close();

}

1 个答案:

答案 0 :(得分:0)

那是因为你正在播放所有文件。您应该在OnCompletionListener中放置应该在音乐完成时运行的代码。

  public takeoff() {
      this.landing();
  }

  public landing() {
    let x = 1;
    let y = 2;
      ...
      ...
  }