在Android的res/raw文件夹中创建mp3文件的ArrayList

在Android的res/raw文件夹中创建mp3文件的ArrayList,android,android-mediaplayer,Android,Android Mediaplayer,我正在使用以下代码从我的res/raw文件播放媒体文件,它工作正常。但是,我的res/raw文件夹中有20个mp3文件,我应该如何在res/raw文件夹中创建mp3文件的ArrayList MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.music_file); mediaPlayer.start(); 下面是我的完整代码;我无法播放第二个音频文件 public class Datadetail extends AppCo

我正在使用以下代码从我的res/raw文件播放媒体文件,它工作正常。但是,我的res/raw文件夹中有20个mp3文件,我应该如何在res/raw文件夹中创建mp3文件的ArrayList

MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.music_file);
mediaPlayer.start();
下面是我的完整代码;我无法播放第二个音频文件

public class Datadetail extends AppCompatActivity {
private Context context;
TextView txtname;
TextView txtaarti;
String[] itemname;
int position;

ImageButton buttonPlay;

int[] songlist = {R.raw.ganesh_aarti, R.raw.durga_aarti};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.data_detail);


Intent i = getIntent();

position = i.getExtras().getInt("position");
itemname = i.getStringArrayExtra("itemname");

txtname = (TextView) findViewById(R.id.textView2);
txtname.setText(itemname[position]);

txtaarti = (TextView) findViewById(R.id.textView3);
txtaarti.setText(Aarti.aartitxt[position]);


final MediaPlayer[] mPlayer = {MediaPlayer.create(this, songlist[0])};


buttonPlay = (ImageButton) findViewById(R.id.imageButton);
buttonPlay.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        if (position==0) {
            mPlayer[0] = MediaPlayer.create(getApplicationContext(), R.raw.ganesh_aarti);
            mPlayer[0].start();
        }
        if (position==1){
            mPlayer[1] = MediaPlayer.create(getApplicationContext(), R.raw.durga_aarti);
            mPlayer[1].start();
        }


    }


});
}

public void listRaw(){
Field[]fields=R.raw.class.getFields();
for(int count=0;count

在此之后,您将每个音乐文件都放在一个arraylist中,并相应地播放它们:)

arraylist中应该包含什么?mp3文件示例,R.raw.song1、R.raw.song2等。那么,创建整数arraylist并添加一些整数值有什么问题吗?我创建了一个数组int[]songlist={R.raw.file1、R.raw.file2、R.raw.file3},但当我在媒体播放器中使用它时,它会说无法解析方法create MediaPlayer=MediaPlayer.create(这是歌曲列表);请把所有代码放在你的帖子里。现在看不懂了。您的ArrayList实例在哪里?您创建了一个整数数组。那是不一样的。它应该是
MediaPlayer.create(这个,歌曲列表[nr])。谁告诉你MediaPlayer接受列表的?谢谢Jayanth,我是Android开发的新手,我应该把这些代码放在onCreate中还是放在它之外?要在MediaPlayer中使用它,应该做些什么?我必须使用MediaPlayer.create吗?将它放在oncreate中是相同的代码,但一个区别是您需要迭代arraylist并从arraylist MediaPlayer=MediaPlayer.create(上下文,mArraylist(I))中给出值;如果需要,将其作为全局变量并使用它。
public void listRaw(){
   Field[] fields=R.raw.class.getFields();
    for(int count=0; count < fields.length; count++){
        Log.i("Raw Asset: ", fields[count].getName());
        int resourceID=fields[count].getInt(fields[count]);
        mArrayList.add(resourceID);
   }
}