단말기 환경설정에 따라서 음소거 처리방법.
게임개발에서 진동 또는 음소거시 게임 음악과 배경음악이 정상적으로 출력되도록 하는 것이 좋습니다.
환경설정에서 음소거나 진등으로 설정해두고 게임을 실행했을때 소리가 출력되지 않게되면 사용자는 불편함을 느끼는 것 같습니다. 또는 게임의 버그라고 생각하는 경우가 있어보입니다.
따라서 환경설정과는 상관없이 배경음악과 효과음이 정상적으로 출력될 수 있도록 해주세요.
다음은 단말기의 환경설정에 따라서 음소거를 시켜주는 부분입니다.
onStart()에 추가해주면 어플이 실행될때 처리됩니다. 하지만 우리가 원하는 환경설정의 설정과는 상관없이 소리가 출력되기를 원하기 때문에 다음 부분은 제거해주면됩니다.
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
if(audioManager.getRingerMode()== AudioManager.RINGER_MODE_NORMAL)
{
// 사운드 재생
NativeSetSoundMuteOff();
System.out.println("COCOS2DX : SOUND ON ");
}
else
{
// 사운드를 제거해준다.
NativeSetSoundMuteOn();
System.out.println("COCOS2DX : SOUND OFF");
}
위 부분은 환경설정의 진동 또는 음소거설정에 따른 처리를 해주기 위해서 추가하시면 됩니다.
스마트폰게임 개발하시는 분들에게 조금이나마 도움이되었으면 합니다.
감사합니다.