0
我第一次使用OpenAL,並且對於我的生活我無法弄清楚爲什麼設置源的位置對聲音沒有任何影響。聲音採用立體聲格式,我確定我設置了聽衆位置,聲音對聽衆來說不具有實際意義,並且OpenAL不會發出任何錯誤。設置源和聽衆的位置沒有影響
任何人都可以點亮一下嗎?
創建音頻設備
ALenum result;
mDevice = alcOpenDevice(NULL);
if((result = alGetError()) != AL_NO_ERROR)
{
std::cerr << "Failed to create Device. " << GetALError(result) << std::endl;
return;
}
mContext = alcCreateContext(mDevice, NULL);
if((result = alGetError()) != AL_NO_ERROR)
{
std::cerr << "Failed to create Context. " << GetALError(result) << std::endl;
return;
}
alcMakeContextCurrent(mContext);
SoundListener::SetListenerPosition(0.0f, 0.0f, 0.0f);
SoundListener::SetListenerOrientation(0.0f, 0.0f, -1.0f);
兩個監聽器函數調用
alListener3f(AL_POSITION, x, y, z);
Real vec[6] = {x, y, z, 0.0f, 1.0f, 0.0f};
alListenerfv(AL_ORIENTATION, vec);
我設置的源位置1,0,0這應該是對聽衆的權利,但它沒有效果
alSource3f(mSourceHandle, AL_POSITION, x, y, z);
任何指導將不勝感激