void alBufferData(
ALuint buffer,
ALenum format,
const ALvoid *data,
ALsizei size,
ALsizei freq
);
OpenAL デバイスは、バッファを再サンプリングする必要なく、どの周波数とフォーマットを使用することを好むかについてクエリを実行できますか?
void alBufferData(
ALuint buffer,
ALenum format,
const ALvoid *data,
ALsizei size,
ALsizei freq
);
OpenAL デバイスは、バッファを再サンプリングする必要なく、どの周波数とフォーマットを使用することを好むかについてクエリを実行できますか?
Afaikは、フォーマットではなく、周波数のみを取得できます。を使用して関数を作成するときはalcCreateContext
、ミキシングバッファの属性を指定します。そこを通過するNULL
と、後で以下を使用してこれらの属性を照会できますalcGetIntegerv
。
ALC_ATTRIBUTES_SIZE
列挙型を使用した最初のクエリ属性カウントALC_ALL_ATTRIBUTES
次に、列挙型を使用して十分な大きさのバッファとクエリ属性を割り当てますALC_FREQUENCY
-配列をループしてこの列挙型を検索します。フォーマットに関しては、ステレオまたはモノラルサウンドの場合はsignedshortを使用します。これにより、すべてのプラットフォームで十分なパフォーマンスが得られるはずです(フロートを使用してミキシングする場合でも、ショートからショート、フロートに変換するのは高速です)。