2016-07-03 3 views
0

버튼의 ID를 사운드 리소스의 이름과 비교하고 미디어 플레이어를 해당 리소스로 설정하는 android 메소드를 작성했습니다. 그것은 소리를 내야하지만 실패합니다. 참고로, 버튼의 id는 사운드 파일과 같은 이름입니다. 왜 이것이 재생되지 않는지에 대한 생각은 없습니까? 여기 방법이 있습니다.Android MediaPlayer가 사운드를 재생하지 못합니다.

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

} 

답변

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

} 

이 작동합니다. 자바 클래스의 배열에 모든 노래를 저장하므로 메서드와 다릅니다.

관련 문제