[android] 안드로이드 Audio 음향 효과

안드로이드 앱을 개발할 때, 음향 효과는 사용자 경험에 중요한 영향을 미칩니다. 이 포스트에서는 안드로이드 앱에 음향 효과를 추가하는 방법을 알아보겠습니다.

1. SoundPool을 사용해서 단순한 효과 추가하기

// SoundPool 객체 생성
SoundPool soundPool = new SoundPool.Builder().build();

// 효과 파일 로드
int soundId = soundPool.load(context, R.raw.effect_sound, 1);

// 효과 재생
soundPool.play(soundId, 1.0f, 1.0f, 1, 0, 1.0f);

2. MediaPlayer로 음악 재생하기

// MediaPlayer 객체 생성
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.background_music);

// 음악 재생
mediaPlayer.start();

3. AudioFocus 관리하기

앱에서 음악을 재생할 때 AudioFocus를 관리하는 것이 중요합니다. 사용자가 다른 앱에서 음악을 재생하거나 전화 통화를 받을 때 앱의 음악을 일시 중지해야 합니다. 이를 위해 AudioManager를 사용하여 AudioFocus 상태를 확인하고 처리해야 합니다.

AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
// AudioFocus 요청
int result = audioManager.requestAudioFocus(focusChangeListener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN);

// AudioFocus 잃을 때 처리
AudioManager.OnAudioFocusChangeListener focusChangeListener = new AudioManager.OnAudioFocusChangeListener() {
    public void onAudioFocusChange(int focusChange) {
        if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
            // AudioFocus 잃었을 때 처리
        } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS_TRANSIENT) {
            // 일시적으로 AudioFocus 잃었을 때 처리
        }
    }
};

위의 예시를 통해 안드로이드 앱에 다양한 음향 효과를 추가하는 방법과 AudioFocus를 관리하는 방법에 대해 알아보았습니다. 음향 효과를 효과적으로 활용하여 사용자에게 뛰어난 음향 경험을 제공해보세요.

참고 자료