[android] 안드로이드 Audio 오디오 트랙

안드로이드 앱을 개발할 때 주요 기능 중 하나는 오디오를 재생하고 녹음하는 것입니다. 안드로이드에서 오디오를 다루는데 사용되는 주요 클래스 중 하나는 AudioTrack입니다.

AudioTrack 이란?

AudioTrack은 안드로이드에서 오디오를 재생하기 위한 클래스입니다. 이 클래스를 사용하여 원하는 형식의 오디오 데이터를 생성하고 오디오 장치로 출력할 수 있습니다.

언제 사용해야 하는가?

AudioTrack을 사용하는 방법

// 버퍼 사이즈
int bufferSize = AudioTrack.getMinBufferSize(sampleRate, channelConfig, audioFormat);

// AudioTrack 초기화
AudioTrack audioTrack = new AudioTrack(audioAttributes, audioFormat, bufferSize, mode, sessionId);

// 오디오 데이터 설정
audioTrack.write(audioData, offsetInBytes, sizeInBytes);

// 오디오 재생
audioTrack.play();

주의사항

AudioTrack을 사용할 때 앱에서 오디오 세션과 오디오 포커싱 처리에 대한 적절한 권한을 얻었는지 확인해야 합니다.

이 장치에는 내부적으로 저속 오디오 (Low-latency audio) 및 Android 음악 재생(sessionId) 모드를 사용하여 오디오를 처리하고 재생하는 데 사용할 수 있는 다양한 모드가 있습니다.

AudioTrack을 사용하기 전에 이러한 주의사항을 숙지하여 안정적인 오디오 재생을 보장해야 합니다.

참고 자료