当我使用默认的OpenAL设置运行我的应用程序时,我可以看到它混合了44khz立体声的声音,这是我在控制台中获得的(在iPhone 4上运行):
AudioStreamBasicDescription: 2 ch, 44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved
由于性能问题,我希望OpenAL能够以22khz和单声道混合声音。我假设这应该消耗更少的CPU。我设法迫使OpenAL以22khz的速度混合。我是这样做的:
int params[3];
params[0] = ALC_FREQUENCY;
params[1] = 22000;
params[2] = 0;
context = alcCreateContext(device, params);
但是我如何强制OpenAL混合使用单声道?我假设“2 ch”表示两个声道 - 立体声。
答案 0 :(得分:0)
您无法控制OpenAL输出的通道数,但您可以简单地使用单声道数据作为输入。
一般情况下,除旧设备外,OpenAL不应导致性能问题,并且只有在运行物理引擎或其他东西时一次播放20个或更多源时才会出现。