2017-05-31 4 views
0

Ich habe rohe Ordner und innerhalb, dass ich 3 mp3 Dateien hinzugefügt habe. Und ich finde den Dateinamen wie folgt:Wie setze ich OpenRawResourceId in Android?

Field[] fields=R.raw.class.getFields(); 
for(int count=0; count < fields.length; count++){ 
    Log.e("RawName: ", fields[count].getName()); 
} 
String resid=fields[0].getName(); 

Ich brauche nur nur Position 0-Datei. Jetzt habe ich den Wert wie folgt gesetzt werden,

AssetFileDescriptor afd = getResources().openRawResourceFd(R.raw.test); 
    // Build and start first player 
    MediaPlayer player1 = MediaPlayer.create(this, R.raw.test); 
    player1.start(); 
    MediaPlayer player2 = MediaPlayer.create(this, R.raw.test); 

Meine Frage ist, wie kann ich den Wert resid gesetzt, um dieses „R.raw.test“.

Antwort

1
Field[] fields=R.raw.class.getFields(); 
    for(int count=0; count < fields.length; count++){ 
     Log.e("RawName: ", fields[count].getName()); 
    } 
    String resid=fields[0].getName(); 
    try { 
     Class res = R.raw.class; 
     Field field = res.getField(resid); 
     rawId = field.getInt(null); 
    } 
    catch (Exception e) { 
     Log.e("MyTag", "Failure to get drawable id.", e); 
    } 

    /*music repeat*/ 
    afd = getResources().openRawResourceFd(rawId); 
    // Build and start first player 
    player1 = MediaPlayer.create(this, rawId); 
    player1.start(); 
    player2 = MediaPlayer.create(this, rawId); 
    player1.setNextMediaPlayer(player2); 
Verwandte Themen