Как заставить OpenAL смешивать моно на iPhone - PullRequest
1 голос
/ 06 апреля 2011

Когда я запускаю свое приложение с настройками OpenAL по умолчанию, я вижу, что оно смешивает звуки в стерео 44 кГц, вот что я получаю в консоли (работает на iPhone 4):

AudioStreamBasicDescription:  2 ch,  44100 Hz, 'lpcm' (0x00000C2C) 8.24-bit little-endian signed integer, deinterleaved

Из-за проблем с производительностью я хочу, чтобы OpenAL микшировал звук на 22 кГц и в моно. Я предполагаю, что это должно потреблять меньше ресурсов процессора. Мне удалось заставить OpenAL микшировать на 22 кГц. Вот как я это сделал:

    int params[3];
    params[0] = ALC_FREQUENCY;
    params[1] = 22000;
    params[2] = 0;
    context = alcCreateContext(device, params);

Но как заставить OpenAL микшировать в моно? Я предполагаю, что "2 канала" означает два канала - стерео.

1 Ответ

0 голосов
/ 14 апреля 2011

Вы не можете контролировать, сколько каналов выводит OpenAL, но вы можете просто использовать моно данные в качестве входных данных.

В общем, OpenAL не должен вызывать проблем с производительностью, кроме как на старых устройствах, и только если вы 'Воспроизведение 20 или более источников одновременно во время работы физического движка или чего-то еще.

...