티스토리 뷰


AudioManager  mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

(수정) 2011-05-25
/* 현재 오디오모드확인 */
mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT : 사일런트 모드일 경우(값0)
mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE : 진동모드일 경우(값1)
mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL : 벨 모드일 경우(값2)
//AudioManager.ACTION_AUDIO_BECOMING_NOISY : 이어잭을 꼽고 있다가 뺏을 경우.

/* 오디오모드 셋팅 */
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);  //벨
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);  //진동
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); //무음

단말기 상태가 진동이건 벨이건 무음이건 상관없이 어플에서 지정한데로 나온다.
예를들어 단말기가 무음모드라고 해도 어플에서 소리를 내보내면 소리가 나게된다.
따라서 단말기의 모드를 확인 후에 그에 맞는 Effect를 해주는게 맞다.

[▼추가]
Android 에서 소리를 재생하는데에 앱에 특별히 필요한 권한 설정은 없지만.
진동을 울리기 위해서는 권한이 필요하다.

AndroidManifest.xml 에 밑에와 같이 권한을 넣어줘야만 하고
또 사용자가 앱 설치시에 이에 동의해야 한다.

<uses-permission android:name="android.permission.VIBRATE"/>


[작성자] devbible.tistory.com

댓글