[android] 안드로이드 Audio 플레이백

안드로이드 앱을 개발하다 보면 사운드나 음악 파일을 재생해야 하는 경우가 많이 있습니다. 안드로이드에서는 플레이어 클래스를 사용하여 오디오를 다룰 수 있습니다. 오디오 플레이백을 구현하는 방법을 알아봅시다.

1. MediaPlayer를 사용한 오디오 플레이백

가장 일반적으로 사용되는 방법은 MediaPlayer 클래스를 사용하여 오디오 파일을 재생하는 것입니다. 다음은 MediaPlayer 클래스를 사용한 간단한 오디오 플레이백 예제 코드입니다.

MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.song);
mediaPlayer.start();

위 코드에서 R.raw.song은 raw 폴더에 있는 오디오 파일을 가리킵니다.

2. SoundPool을 사용한 오디오 플레이백

단순한 효과음을 재생할 때는 SoundPool 클래스를 사용하는 것이 더 효율적일 수 있습니다. 다음은 SoundPool을 사용한 예제 코드입니다.

SoundPool soundPool = new SoundPool.Builder().setMaxStreams(1).build();
int soundId = soundPool.load(this, R.raw.sound_effect, 1);
soundPool.play(soundId, 1.0f, 1.0f, 1, 0, 1.0f);

3. ExoPlayer를 사용한 오디오 플레이백

더 복잡한 오디오 스트리밍이나 미디어 재생 기능이 필요할 경우 ExoPlayer 라이브러리를 사용할 수 있습니다. ExoPlayer는 안드로이드에서 고유한 오디오 및 비디오 플레이어를 구현할 수 있도록 하는 강력한 라이브러리입니다.

implementation 'com.google.android.exoplayer:exoplayer:2.X.X'

위와 같이 Gradle에 의존성을 추가하고 ExoPlayer를 초기화한 후에 미디어를 로드하고 재생할 수 있습니다.

이러한 방법들을 사용하여 안드로이드 앱에서 다양한 형식의 오디오를 효율적으로 재생할 수 있습니다.

요약

오디오 플레이백을 구현하기 위해 안드로이드에서는 MediaPlayer, SoundPool 및 ExoPlayer 같은 다양한 클래스 및 라이브러리를 제공합니다. 앱의 요구 사항에 맞게 적절한 방법을 선택하여 오디오 플레이백을 구현할 수 있습니다.

참고: Android Developer - MediaPlayer, Android Developer - SoundPool, ExoPlayer GitHub


키워드: 안드로이드, 오디오, 플레이백, MediaPlayer, SoundPool, ExoPlayer