2013-06-03 2 views
0

이것이 작동하지 않는 이유를 모르겠습니까?MediaPlayer에서 Uri을 재생할 수 없습니다.

// This method is called inside of a ExpandableListActivity 
playSound(0); 

void playSound(int num) { 
String string = new String("R.raw.sound"+ num); 
Uri myUri = Uri.parse(string); 
    mPlayer = MediaPlayer.create(MainActivity.this, myUri); 
    mPlayer.start(); 
} 

답변

0

자원의 ID를 얻기 위해이 코드를 사용해보십시오 ... 대신 그

public void playSound(int num) { 
    int id = getResources().getIdentifier("sound" + num, "raw", getPackageName()); 
    MediaPlayer mPlayer = MediaPlayer.create(MainActivity.this, id); 
    mPlayer.start(); 
} 
+0

I를 확인하시기 바랍니다 이것을 사용할 수 있습니다 왜 그런지 모르지만 이것은 추락합니다. 이유는 콘솔에 아무것도 없습니다. – Bobby

+0

디버그 및 ID를 얻고 있는지 여부를 확인하거나 미디어 플레이어 개체의 문제 일 수 있습니다 ... – SilentKiller

+0

iOS에서 브레이크 포인트를 설정하고 안드로이드에 대한 새로운 오전 및 디버깅은 여전히 ​​그것을 알아내는 조금 이상한 일이지만, 이것은 MediaPlayer를 만들 때 오류 메시지가 나타납니다. "리소스 번호 0x00000000에 대한 값을 가져올 때 패키지 식별자가 없습니다" – Bobby

0

당신은 또한 참조

MediaPlayer _player=MediaPlayer.create(this,R.raw.sound); 

link

+0

나는 그 질문을 이해하고 있다고 생각하지 않는다. 나는 100 개의 소리를 가지고 있으며, 이름은 sound0, sound1 등입니다. 어떻게 메서드를 호출하고 정수를 전달하고 정수에 따라 사운드를 재생합니까? – Bobby

관련 문제