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 を強制的にモノラルにミックスするにはどうすればよいですか? 「2ch」とは、ステレオの 2 つのチャンネルを意味すると仮定しています。

4

1 に答える 1

0

OpenAL 出力のチャネル数を制御することはできませんが、モノラル データを入力として使用することはできます。

一般に、OpenAL は古いデバイス以外でパフォーマンスの問題を引き起こすべきではなく、物理エンジンなどを実行しているときに一度に 20 以上のソースを再生している場合に限ります。

于 2011-04-14T16:30:45.503 に答える