[android] 안드로이드 Audio 녹음

안드로이드 앱을 개발하다 보면 사용자의 음성이나 다른 오디오를 녹음해야 할 때가 있습니다. 안드로이드 플랫폼은 다양한 방법으로 오디오를 녹음할 수 있는 다양한 API와 라이브러리를 제공합니다. 여기서는 안드로이드에서 간단한 방법으로 오디오를 녹음하는 방법에 대해 알아보겠습니다.

안드로이드에서 기본적인 오디오 녹음하기

안드로이드에서 기본적인 오디오 녹음은 MediaRecorder 클래스를 사용하여 구현할 수 있습니다. 먼저, 오디오를 녹음할 권한을 얻기 위해 AndroidManifest.xml 파일에 녹음 권한을 추가해야 합니다.

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

그 다음, 아래와 같이 MediaRecorder 클래스를 사용하여 오디오를 녹음할 수 있습니다.

import android.media.MediaRecorder;

public class AudioRecorder {
    private MediaRecorder mediaRecorder;

    public void startRecording(String outputFile) {
        mediaRecorder = new MediaRecorder();
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mediaRecorder.setOutputFile(outputFile);

        try {
            mediaRecorder.prepare();
            mediaRecorder.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void stopRecording() {
        if (mediaRecorder != null) {
            mediaRecorder.stop();
            mediaRecorder.release();
            mediaRecorder = null;
        }
    }
}

위의 예제에서는 MediaRecorder 클래스를 사용하여 오디오를 녹음하고 startRecording() 메서드를 사용하여 녹음을 시작하며 stopRecording() 메서드를 사용하여 녹음을 멈출 수 있습니다.

녹음된 오디오 재생하기

이제 녹음된 오디오를 재생하는 방법에 대해 살펴보겠습니다. 녹음된 오디오를 재생하려면 MediaPlayer 클래스를 사용할 수 있습니다. 아래는 간단한 예제입니다.

import android.media.MediaPlayer;

public class AudioPlayer {
    private MediaPlayer mediaPlayer;

    public void playAudio(String audioFile) {
        mediaPlayer = new MediaPlayer();
        try {
            mediaPlayer.setDataSource(audioFile);
            mediaPlayer.prepare();
            mediaPlayer.start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public void stopAudio() {
        if (mediaPlayer != null) {
            mediaPlayer.release();
            mediaPlayer = null;
        }
    }
}

위의 예제에서는 MediaPlayer 클래스를 사용하여 녹음된 오디오를 재생하고 playAudio() 메서드를 사용하여 재생을 시작하며 stopAudio() 메서드를 사용하여 재생을 중지할 수 있습니다.

결론

안드로이드에서 오디오 녹음과 재생은 MediaRecorderMediaPlayer 클래스를 사용하여 간단히 구현할 수 있습니다. 물론 녹음된 오디오 파일을 저장하고 관리하는 등의 추가적인 작업이 필요할 수 있지만, 기본적인 녹음과 재생 기능은 위의 예제를 참고하여 구현할 수 있습니다.

참고 자료:

위의 예제는 안드로이드 앱에서 기본적인 오디오 녹음과 재생을 구현하는 방법에 대한 간단한 가이드입니다.