
OpenAL Stream 버퍼 크기를 설정하는 방법은 다음과 같습니다.
1. ALuint bufferID; // 버퍼 ID를 저장할 변수
2. alGenBuffers(1, &bufferID); // 버퍼 ID를 생성
3. ALsizei bufferSize; // 버퍼 크기를 저장할 변수
4. alBufferData(bufferID, AL_FORMAT_MONO16, NULL, bufferSize, 44100); // 버퍼 크기를 설정
버퍼 크기를 설정한 후에, 버퍼에 음성 데이터를 넣는 방법은 다음과 같습니다.
1. ALvoid* data; // 데이터를 저장할 변수
2. ALsizei dataSize; // 데이터 크기를 저장할 변수
3. alBufferData(bufferID, AL_FORMAT_MONO16, data, dataSize, 44100); // 버퍼에 데이터를 넣기
버퍼에 음성 데이터를 넣은 후에, OpenAL Stream을 통해 출력하는 방법은 다음과 같습니다.
1. ALuint sourceID; // 소스 ID를 저장할 변수
2. alGenSources(1, &sourceID); // 소스 ID를 생성
3. alSourceBuffer(sourceID, bufferID); // 소스에 버퍼를 연결
4. alSourcePlay(sourceID); // 소스를 시작
버퍼 크기를 설정하지 않으면, 버퍼를 생성할 수 없습니다. 버퍼 크기를 설정한 후에, 버퍼에 음성 데이터를 넣지 않으면, 버퍼에 데이터가 없습니다. OpenAL Stream을 통해 출력을 하지 않으면, 소스가 시작되지 않습니다.
제가 이해한 바로는, 버퍼 크기를 설정하지 않으면 버퍼를 생성할 수 없고, 버퍼 크기를 설정한 후에 버퍼에 음성 데이터를 넣지 않으면 버퍼에 데이터가 없고, OpenAL Stream을 통해 출력을 하지 않으면 소스가 시작되지 않는다는 것입니다.
2025-04-21 18:32