[c++] OpenAL 오디오 샘플 생성
샘플을 생성하려면 다음 단계를 따를 수 있습니다.
-
OpenAL 초기화 OpenAL을 초기화하여 오디오 장치를 연 다음, 컨텍스트를 만들어야 합니다.
// OpenAL 초기화 ALCdevice* device = alcOpenDevice(nullptr); ALCcontext* context = alcCreateContext(device, nullptr); alcMakeContextCurrent(context);
-
버퍼 생성 샘플 데이터를 담을 버퍼를 생성합니다. 이때 버퍼의 채널, 샘플링 레이트, 비트 단위 등을 설정해야 합니다.
ALuint buffer; alGenBuffers(1, &buffer); alBufferData(buffer, AL_FORMAT_MONO16, data, size, frequency);
-
소스 생성 오디오의 위치, 방향 및 속도 등을 정의하는 소스를 생성합니다.
ALuint source; alGenSources(1, &source); alSourcei(source, AL_BUFFER, buffer); alSourcePlay(source);
-
재생 소스를 재생하거나 일시 정지하고, 반복하는 등의 조작을 수행합니다.
alSourcePlay(source); alSourcePause(source); alSourceRewind(source);
이러한 단계를 따라하면 OpenAL을 사용하여 오디오 샘플을 생성할 수 있습니다.
참고 자료:
- https://openal.org/documentation/OpenAL_Programmers_Guide.pdf