안드로이드 개발 질문/답변
(글 수 45,052)
브로드 캐스트리시버에서 보면 OnReceive()메소드에서
Context객체를 인자로 받아 들이잖아요.
그 말은 리시브 가될때 그 곳의 Context를 받아들인다는 의미로 이해했습니다.
예를 들어 A 액티비티가 실행중이었다면 A액티비티의 Context를 받아온다는 식으로요.
그런데 이 리시브 메소드 내에서 알람사운드를 발생하려고했더니,
소리 자체가 나질 않더라구요.
sndMgr = new SoundManager();
sndMgr.initSounds(context);
sndMgr.addSound(0, R.raw.touch);
sndMgr.playSound(0);
Receive메소드 안에 이런 식으로 해서 touch라는 녀석의 사운드를 재생시키는 것인데
다른 곳에서는 잘 되는데 여기서는 돌아가지 않더군요.
왜 그런것인지 궁금하고ㅡ, 어떻게 해결할 수 있을까요? 고수님들 알려주세요~
Context객체를 인자로 받아 들이잖아요.
그 말은 리시브 가될때 그 곳의 Context를 받아들인다는 의미로 이해했습니다.
예를 들어 A 액티비티가 실행중이었다면 A액티비티의 Context를 받아온다는 식으로요.
그런데 이 리시브 메소드 내에서 알람사운드를 발생하려고했더니,
소리 자체가 나질 않더라구요.
sndMgr = new SoundManager();
sndMgr.initSounds(context);
sndMgr.addSound(0, R.raw.touch);
sndMgr.playSound(0);
Receive메소드 안에 이런 식으로 해서 touch라는 녀석의 사운드를 재생시키는 것인데
다른 곳에서는 잘 되는데 여기서는 돌아가지 않더군요.
왜 그런것인지 궁금하고ㅡ, 어떻게 해결할 수 있을까요? 고수님들 알려주세요~
1초만 쉬고 사운드 플레이해보세요.
sndMgr.addSound(0, R.raw.touch);
Thread.sleep(1000);
sndMgr.playSound(0);