import android.media.AudioManager;
import android.media.SoundPool;
public class StartActivity extends Activity {
public int no1;
public int btn = 1;
SoundPool sound;
int soundId1;
int soundId2;
int soundId3;
int soundId4;
int soundId5;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
ImageButton btn = (ImageButton) findViewById(R.id.btn);
sound = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
soundId = sound.load(this, R.raw.sound1, 1);
soundId2 = sound.load(this, R.raw.sound2, 1);
soundId3 = sound.load(this, R.raw.sound3,1);
soundId4 = sound.load(this, R.raw.sound4,1);
soundId5 = sound.load(this, R.raw.sound5,1);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
rand r = new rand();
if(btn == 1){
no1 = r.num;
if(no1 == 1)
{
sound.play(soundId1, 1f, 1f, 0, 0, 1f);
btn += 1;
}
else if(no1 ==2)
{
sound.play(soundId2, 1f, 1f, 0, 0, 1f);
btn += 1;
}
}
else if(btn == 2)
{
no1 = r.num;
if(no1 == 1)
{
sound.play(soundId3, 1f, 1f, 0, 0, 1f);
btn += 1;
}
else if(no1 == 2)
{
sound.play(soundId5, 1f, 1f, 0, 0, 1f);
btn += 1;
}
}
else if(btn == 3)
{
sound.play(soundId4, 1f, 1f, 0, 0, 1f);
btn = 1;
}
}
});
}
액티비티 안에 입력하는 겁니다. onCreate는 액티비티가 생성되는 시점을 의미하며 아래에 버튼이며 onClickListener 같은 메소드를 활성화 시켜주죠 코드에 보시면 SoundPool이라는 클래스를 객체화 시키며 soundid1~5까지를 정의해줍니다. 즉, 각각의 soundid에 원하시는 사운드를 넣는것이죠. 버튼을 r.id.button으로 만들어주고 onClickListener를 오버라이딩 시켜줍니다.(이건 안드로이드 라이브러리 자체 내장이라 안드로이드 스튜디오를 쓰시면 자동으로 가져올수 있습니다.) 이 코드의 경우는 첫번째 클릭했을떄, 두번째 클릭했을떄, 세번째 클릭했을때 사운드를 내는 기능이며 코드에 btn+=1 로 첫번째 클릭인지 두번째 클릭인지 확인이 가능합니다. 세번째 클릭은 무조건 하나의 소리만 나오도록 되어있구요.
죄송하지만 어디에 입력해야하는지 뭐가 뭔지 이해가 안됩니다ㅠㅠㅠ gkshffltm@gmail.com 으로 예제파일이라도 좀 보내주실 수 있나요? 보내주시기를 부탁드리겠습니다^^