Возможно ли (и как) определить конечность аудиофайла AIFF?


Я работаю над импортером аудио на JAVA (используется в барабанном секвенсоре), и у меня есть следующая проблема с импортом файлов AIFF:

У меня есть 2 файла AIFF одного типа (24bit, 44100kHz, mono), один создан на Mac, другой создан с помощью wavelab на компьютере с windows. Как несжатый РСМ, оба являются форма == мало.

AIFF от Mac-это BigEndian (как и должно быть), конвертировать AIFF с wavelab (окон) LittleEndian.

Оба файла могут быть воспроизведены правильно в Wavelab (Windows), а также в Quicktime (Windows). Как эти инструменты могут обнаружить конечность этих файлов? В любом случае это должно быть возможно, иначе хотя бы один из файлов будет звучать так же, как шум (это то, что происходит в моем приложении).

Есть ли какая-то скрытая информация в заголовке файла или любой другой способ определить конечность файла AIFF? Есть предложения?

Большое Спасибо

1 2

1 ответ:

Быстро погуглил говорит, AIFF файлы находятся с обратным порядком байтов.

Однако согласноВикипедии существует другой формат, называемый AIFF-C, который сжимает данные. Apple использует little endian в наши дни и создала поддельный метод сжатия под названием sowt , что по сути означает "нет сжатия, но маленький endian". Возможно, вам придется проверить это.

Кроме того, простой AIFF не дает возможности проверить эндианность. Стандартный AIFF, который закодирован в little endian похоже, это нарушает спецификацию.