1
여러 개의 버튼이있는 Android Soundboard를 쓰려고합니다. 각 버튼은 다른 사운드를 재생해야합니다.Android Soundboard 한 번에 하나의 소리 만
buttonAlan.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
playSound("alan");
}
});
이 버튼의 각각은 다음 함수를 호출 :
나는 각 버튼의 OnClickListener를있다.
private void playSound(String sound) {
int path = getResources().getIdentifier(sound, "raw", getPackageName());
mediaplayer = MediaPlayer.create(this, path);
try {
mediaplayer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaplayer.start();
}
사운드 보드가 작동하지만 버튼을 클릭 할 때마다 소리가 반복 재생됩니다. 재생을 멈추기 위해서는 mediaplayer가 필요하지만, mediaplayer.stop()과 같은 것을 쓸 때마다 App은 전혀 작동하지 않습니다. 내 기능/코드에서 변경해야 할 사항이 있습니까?
당신이 날은 "문맥"무슨 말씀 해주십시오 수 설정할 수 있습니까? 어떻게 든 내 MainActivity의 이름과 관련이 있습니까? – Stef
간단하게 말했다 : [문맥은 무엇인가] (http://stackoverflow.com/questions/3572463/what-is-context-in-android) . 당신은 단지 "this"또는 컨텍스트로 "getContext()"를 호출하면 다른 클래스로 이동하면 호출하는 컨텍스트를 전달해야합니다 (예 : 리소스에 액세스하는 데 필요). – stamanuel
감사합니다. 그것은 트릭을했다. 이제 버튼을 누를 때마다 사운드 풀의 재생을 중지하면됩니다. – Stef