2014-04-28 7 views
0

를 설정할 때 오류가 나는 다음과 같은 순서로 내 OpenAL에 소스를 초기화 :를 OpenAL : 소스 유형

ALCcontext *_mContext; 
ALCdevice *_mDevice; 
ALuint _mSourceID; 

alcOpenDevice(NULL); 
_mContext = alcCreateContext(); 

alcMakeContextCurrent(_mContext); 
alGenSources(1, &_mSourceID); 
alSourcei(_mSourceID, ALLOOPING, AL_FALSE); 
alSourcei(_mSourceID, AL_SOURCE_TYPE, AL_STREAMING); 
alSourcef(_mSourceIDm AL_GAIN, (ALfloat)1.0); 
alSpeedOfSound(1.0F); 

alSourcei(_mSourceID, AL_SOURCE_TYPE, AL_STREAMING)에서 orrurred 오류. 오류 코드 40962.

무슨 일이 일어 났습니까? 소스 유형을 설정하는 데 실패한 이유는 무엇입니까? 도와주세요. 미리 감사드립니다!

답변

1

오류 코드 40962는 AL_INVALID_ENUM입니다 (al.h 참조).

OpenAL 사양 (http://www.openal.org/documentation/openal-1.1-specification.pdf)에는 AL_SOURCE_TYPE (p34)에 대한 섹션이 있습니다.

AL_SOURCE_TYPE는 소스 , 버퍼 큐 준비 정적 버퍼를 사용할 준비하거나 스트리밍 또는 정적 재생 중 어느 하나를 위해 사용될 수있는 미결정 상태인지 여부를 나타내는 판독 전용 속성 .

읽기 전용 매개 변수 인 경우 AL_SOURCE_TYPE을 설정하려고합니다. 하나 개 이상의 버퍼가 원본에 1 개 이상의 버퍼를 대기하는 경우 스트리밍을 설정한다 alSourceQueueBuffers

소스 형태를 사용하여 부착 된 경우

  • 소스 스트리밍된다.