[c++] Opus 라이브러리의 사용 예시

아래는 Opus 라이브러리를 사용하여 오디오 파일을 디코딩하는 간단한 C++ 예시입니다.

#include <opus/opus.h>

int main() {
    int error;
    
    // decoder 초기화
    OpusDecoder* decoder = opus_decoder_create(48000, 2, &error);
    
    // 파일에서 오디오 데이터 읽기
    FILE* file = fopen("audio.opus", "rb");
    fseek(file, 0, SEEK_END);
    long dataSize = ftell(file);
    fseek(file, 0, SEEK_SET);
    unsigned char* data = new unsigned char[dataSize];
    fread(data, sizeof(unsigned char), dataSize, file);
    fclose(file);
    
    // 디코딩
    opus_int16 pcm[1920*2]; // 20ms 분량의 PCM 데이터
    int frame_size = opus_decode(decoder, data, dataSize, pcm, 1920, 0);
    
    // decoder 해제
    opus_decoder_destroy(decoder);
    
    return 0;
}

위의 코드는 Opus 라이브러리를 사용하여 “audio.opus” 파일에서 오디오 데이터를 읽고, 디코딩한 후 PCM 데이터를 얻는 예시입니다.

이 예시는 Opus 라이브러리의 기본적인 사용 방법을 보여주며, 응용프로그램에 따라 추가 설정이나 오류 처리가 필요할 수 있습니다.

Opus 라이브러리의 자세한 내용은 Opus 공식 웹사이트에서 확인할 수 있습니다.