FMODからOpenALに移行していますが、サンプルのサンプルの長さを返すFSOUND_Sample_GetLength ()関数の類似物が見つかりません(頻度は考慮されていません)... OpenALバッファー名を取得しますalutLoadMemoryFromFileImage()からなので、この方法で波形データを取得することはできません。
助けてください!
alGetBufferi()を使用して、自分でつなぎ合わせる必要があります。
ALint sizeInBytes;
ALint channels;
ALint bits;
alGetBufferi(bufferID, AL_SIZE, &sizeInBytes);
alGetBufferi(bufferID, AL_CHANNELS, &channels);
alGetBufferi(bufferID, AL_BITS, &bits);
lengthInSamples = sizeInBytes * 8 / (channels * bits);
そして秒単位の期間:
ALint frequency;
alGetBufferi(bufferID, AL_FREQUENCY, &frequency);
durationInSeconds = (float)lengthInSamples / (float)frequency;