我试图弄清楚如何让 openAL 在 2D 中平移(通过操纵 3D 定位)。理想情况下,我希望实现平移,以便左声道或右声道可以与另一个完全静音的声道完全接合。似乎 Open AL 可以很好地处理 3d 距离和衰减,但我正在努力模拟这种 2D 平移。
我在用着
alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED)
float sourcePosition[3] = {0.99f,0.f,0.f};
alSourcefv(sourceID, AL_POSITION, sourcePosition);
alSourcei(sourceID, AL_SOURCE_RELATIVE, AL_FALSE);
alSourcef(sourceID, AL_MAX_DISTANCE, 1.f);
alSourcef(sourceID, AL_REFERENCE_DISTANCE, 0.5f);
但是,右声道中有大量音频。我真的不希望增益根据距离下降,只是按比例分配通道。
是否可以使用开放式 AL 模拟 2d 平移?