티스토리 뷰

audioTrack을 이용한 오디오 제어

안드로이드에서 audioTrack을 이용한 PCM 오디오 제어를 기록해 놓는다.


뭘 알아야 쓰지

AudioTrack 클래스를 사용하는 방법에 대한 자세한 설명은 안드로이드 스튜디오의 설명을 참고하도록 하자. (참고로 코드에서 AudioTrack 위에 마우스 올려 놓고 Shift + F1 키를 누르면 해당 문서가 뜬다.)




audioTrack Class

public static AudioTrack myAudioTrack;

myAudioTrack = new AudioTrack(AudioManager.STREAM_MUSIC        // 스트림 타입. 스트리밍으로 할지 여부를 정한다.

                44100,        // sample rate

                AudioFormat.CHANNEL_OUT_MONO,        // 채널

                AudioFormat.ENCODING_PCM_16BIT,        // 오디오 포맷

                audioTrackTxsize * 2,            // 버퍼 사이즈

                AudioTrack.MODE_STATIC);

myAudioTrack.write(pcm_data, 0, pcm_data.length);        // 재생을 위한 오디오 싱크에 오디오 pcm 데이터를 기록한다.

myAudioTrack.flush();        // 남아있는 버퍼를 지움.

myAudioTrack.play();        // 오디오 트랙 플레이

myAudioTrack.release();    // 오디오 트랙 릴리즈

myAudioTrack = null;        // 초기화