sp = new SoundPool(1 , AudioManager.STREAM_MUSIC , 0);
id = sp.load(this , R.raw.typing , 1);
th = new Thread();
th.start();
//스레드 본체
class Thread extends Thread {
//스레드 실행중
public void run() {
handler.sendEmptyMessage(2);
for(i=0 ; i<=(100) ; i++) {
}
}
}
//핸들러 본체
Handler handler = new Handler(){
public void handleMessage(Message msg) {
//main 스레드가 아니면 view 속성을 바꿀수 없어서 핸들러 사용
if(msg.what == 2){
sp.play(id , 1 , 1 , 0 , -1 , 1); //(식별자 , 왼쪽볼륨 , 오른쪽볼륨 , 우선순위 , 반복횟수 , 속도)
} else if(msg.what == 0){
sp.stop(id);
finish();
}
}
};
대략적으로 A 와 B Activity가 있을때
A에서 B로 버튼을 눌러 넘어오면 B Activity에서 바로 소리가 나는 구조입니다.
그런데 실행해보면 어쩔땐 소리가나고 어쩔땐 안나고 그래요... 왜그러죠? 도와주세요..