1

当我使用默认的 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”表示两个通道 - 立体声。

4

1 回答 1

0

您无法控制 OpenAL 输出的通道数,但您可以简单地使用单声道数据作为输入。

一般来说,OpenAL 不会导致性能问题,除非在较旧的设备上,并且仅当您在运行物理引擎或其他东西时一次播放 20 个或更多源时。

于 2011-04-14T16:30:45.503 回答