2016-07-03 2 views
0

J'ai écrit une méthode pour Android qui prend l'ID d'un bouton et le compare au nom d'une ressource sonore et définit le lecteur multimédia à cette ressource. il devrait jouer le son mais échoue à. Pour votre référence, l'identifiant du bouton est le même nom que le fichier son. Des pensées sur pourquoi cela ne joue pas? voici la méthode.Android MediaPlayer ne parvient pas à jouer des sons

public void buttonTapped(View view){ 
    int id = view.getId(); 
    String ourId = ""; 

    ourId = view.getResources().getResourceEntryName(id); 

    int resourceId = getResources().getIdentifier(ourId, "raw", "com.test.basicphrases"); 

    MediaPlayer mediaPlayer = MediaPlayer.create(this, resourceId); 

    mediaPlayer.start(); 

} 

Répondre

1
private int[] songs = { R.raw.song1, R.raw.song2}; 
public void buttonTapped(View view){ 
    int id = view.getId(); 
    String ourId = ""; 

    ourId = view.getResources().getResourceEntryName(id); 

    int resourceId = songs[id]; 

    MediaPlayer mediaPlayer = MediaPlayer.create(this, resourceId); 

    mediaPlayer.start(); 

} 

Cela devrait fonctionner. Ce n'est pas comme votre méthode, car elle stocke toutes les chansons dans un tableau de la classe java.