[android] 안드로이드 Audio 라이브러리

안드로이드 플랫폼에서는 다양한 오디오 기능을 제공하기 위해 다양한 라이브러리를 제공합니다. 이번 블로그에서는 안드로이드에서 사용할 수 있는 대표적인 오디오 라이브러리를 소개하고 해당 라이브러리의 기능과 사용법에 대해 알아보겠습니다.

목차

  1. MediaPlayer
  2. SoundPool
  3. AudioRecord 및 AudioTrack

MediaPlayer

MediaPlayer 는 안드로이드에서 오디오 및 비디오 파일을 재생하기 위한 클래스입니다. MediaPlayer 는 다양한 오디오 파일 형식을 지원하며, prepare, start, pause, stop 등의 메소드를 통해 간단하게 오디오를 제어할 수 있습니다.

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

자세한 내용은 Android Developer 공식 문서를 참고하실 수 있습니다.

SoundPool

SoundPool 은 짧거나 반복되는 음향 리소스를 재생하기 위한 클래스입니다. SoundPool 을 사용하면 메모리 효율적으로 음원을 재생할 수 있습니다.

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

더 많은 정보는 Android Developer 공식 문서를 참고하실 수 있습니다.

AudioRecord 및 AudioTrack

마지막으로, 안드로이드에서 실시간 오디오 녹음 및 재생을 위해 AudioRecordAudioTrack 클래스를 사용할 수 있습니다. AudioRecord 는 오디오 데이터를 녹음하고, AudioTrack 은 녹음한 오디오 데이터를 재생합니다.

AudioRecord audioRecord = new AudioRecord.Builder().build();
audioRecord.startRecording();

AudioTrack audioTrack = new AudioTrack.Builder().build();
audioTrack.setPlaybackRate(44100);
audioTrack.write(audioData, 0, audioData.length);
audioTrack.play();

보다 상세한 내용은 Android Developer 공식 문서 - AudioRecordAndroid Developer 공식 문서 - AudioTrack를 참고하실 수 있습니다.

안드로이드에서 제공하는 다양한 오디오 라이브러리를 이용하면 음악 재생, 효과음 재생, 녹음, 실시간 오디오 처리 등의 기능을 쉽게 구현할 수 있습니다. 각 라이브러리의 특성을 잘 파악하여 앱에 적합한 오디오 처리 방식을 선택하는 것이 중요합니다.