본문으로 건너뛰기
Version: 7.0

오디오 리시버

오디오 리시버 기능을 이용하면 실제 오디오 스트림에 영향을 주지 않고 오디오 데이터를 얻을 수 있습니다. 애플리케이션에서는 이 기능을 이용해 오디오 데이터의 복사본을 받아 다양한 용도로 사용할 수 있습니다.

지원 통화 유형최소 SDK 버전
1대1 통화, 그룹 통화(컨퍼런스)PlanetKit 7.0
Note

오디오 리시버를 통해 얻은 오디오 데이터는 VQE 제어가 적용되기 전의 오디오 스트림입니다.

활용 사례

오디오 리시버의 주요 활용 사례는 다음과 같습니다.

  • 오디오 분석 및 전사(음성→텍스트 변환)
  • 음성 활동 감지(VAD)
  • 오디오 품질 모니터링
  • 통화 분석 및 지표 수집
  • 실시간 오디오 시각화 및 레벨 미터링
  • 통화 오디오를 파일로 녹음

구현 단계

오디오 리시버 기능을 구현하려면 다음 단계를 따르세요.

오디오 리시버 구현

콜백을 통해 오디오 데이터를 수신하도록 PlanetKitAudioReceiver 인터페이스를 구현하는 클래스를 만드세요.

import com.linecorp.planetkit.session.PlanetKitAudioReceiver
import com.linecorp.planetkit.audio.AudioFrame

class AudioDataReceiver : PlanetKitAudioReceiver {
override fun onAudioReceived(data: AudioFrame) {
// Access audio data properties
val buffer = data.getBuffer() // ByteBuffer: audio data
val sampleType = data.getSampleType() // PlanetKitAudioSampleType: audio sample type
val size = data.getSize() // Long: size in bytes
val samplingRate = data.getSamplingRate() // PlanetKitAudioSampleRate: audio sample rate
val sampleCount = data.getSampleCount() // Int: number of samples
val timestamp = data.getTimestamp() // Long: timestamp in nanoseconds

// Use the audio data for your use case

// Release the frame when done
data.release()
}
}

오디오 리시버 설정

1대1 통화 또는 그룹 통화에서 오디오 데이터를 수신하려면 리시버를 등록하세요.

// Create receiver instance
val myAudioReceiver = AudioDataReceiver()
val peerAudioReceiver = AudioDataReceiver()

// For 1-to-1 call
call.setMyAudioReceiver(myAudioReceiver) // Local user's audio
call.setPeerAudioReceiver(peerAudioReceiver) // Remote peer's audio

// For group call
conference.setMyAudioReceiver(myAudioReceiver) // Local user's audio
conference.setPeerAudioReceiver(peerAudioReceiver) // Mixed audio from all peers

오디오 리시버 해제

오디오 데이터 수신을 중지하고 리소스를 정리하려면 리시버 등록을 해제하세요.

// For 1-to-1 call
call.clearMyAudioReceiver()
call.clearPeerAudioReceiver()

// For group call
conference.clearMyAudioReceiver()
conference.clearPeerAudioReceiver()

관련 API

오디오 리시버 기능과 관련된 API는 다음과 같습니다.

공통

1대1 통화

그룹 통화