2016-03-07 2 views
-1

Я использую следующий код для воспроизведения медиафайла из моего res/raw файла, и он работает нормально. Но у меня есть 20 mp3-файлов в моей папке res/raw. Как мне создать ArrayList mp3-файлов в папке res/raw?Создать ArrayList mp3-файлов в папке res/raw Android

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


    } 


}); 

}

+0

Что должно быть в ArrayList ? – greenapps

+0

Пример файлов MP3, R.raw.song1, R.raw.song2 и т. Д. –

+0

Итак, в чем проблема с созданием массива Integer ArrayList и добавлением целочисленных значений? – greenapps

ответ

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

После этого у вас есть все музыкальные файлы в одном ArrayList, играть в них соответственно :)

+0

Спасибо Jayanth, я новичок в разработке Android, где я должен помещать этот код в onCreate или за его пределами? и что нужно сделать для использования в MediaPlayer, нужно ли использовать MediaPlayer.create? –

+0

положить, что в OnCreate да тот же самый код, но одна разница в том, что вам нужно перебрать ArrayList и дают значение из ArrayList MediaPlayer MediaPlayer = MediaPlayer.create (контекст, mArraylist (I)); – Jayanth

+0

Пожалуйста, добавьте код, в котором вы создаете экземпляр mArrayList. – greenapps

Смежные вопросы