|
|
我在OpenAL SDK中playstatic这个Demo里的 alSourcePlay( uiSource);前面加了以下代码:
//源声音的位置
ALfloat SourcePos[] = { 0.0, 0.0, 0.0 };
// 源声音的速度
ALfloat SourceVel[] = { 0.0, 0.0, 0.0 };
// 听者的位置
ALfloat ListenerPos[] = { 0.0, 0.0, 5.0 };
// 听者的速度
ALfloat ListenerVel[] = { 0.0, 0.0, 1.0 };
// 听者的方向 (first 3 elements are "at", second 3 are "up")
ALfloat ListenerOri[] = { 0.0, 0.0, -1.0, 0.0, 1.0, 0.0 };
alSourcefv(uiSource, AL_POSITION, SourcePos);
alSourcefv(uiSource, AL_VELOCITY, SourceVel);
alListenerfv(AL_POSITION, ListenerPos);
alListenerfv(AL_VELOCITY, ListenerVel);
alListenerfv(AL_ORIENTATION, ListenerOri);
然后运行,就出现了一个奇怪的现象:当我插放的是SDK自带的“Footsteps.wav”时,可以测出3D声音,但如果播放的是其它WAV文件的时候,就不是3D声音了。这是怎么回事啊。。。只是变了一下文件名,就不好使了,太奇怪了~~ |
|