Возможно ли (и как) определить конечность аудиофайла AIFF?
Я работаю над импортером аудио на JAVA (используется в барабанном секвенсоре), и у меня есть следующая проблема с импортом файлов AIFF:
У меня есть 2 файла AIFF одного типа (24bit, 44100kHz, mono), один создан на Mac, другой создан с помощью wavelab на компьютере с windows. Как несжатый РСМ, оба являются форма == мало.
AIFF от Mac-это BigEndian (как и должно быть), конвертировать AIFF с wavelab (окон) LittleEndian.
Оба файла могут быть воспроизведены правильно в Wavelab (Windows), а также в Quicktime (Windows). Как эти инструменты могут обнаружить конечность этих файлов? В любом случае это должно быть возможно, иначе хотя бы один из файлов будет звучать так же, как шум (это то, что происходит в моем приложении).
Есть ли какая-то скрытая информация в заголовке файла или любой другой способ определить конечность файла AIFF? Есть предложения?
Большое Спасибо
1 ответ:
Быстро погуглил говорит, AIFF файлы находятся с обратным порядком байтов.
Однако согласноВикипедии существует другой формат, называемый AIFF-C, который сжимает данные. Apple использует little endian в наши дни и создала поддельный метод сжатия под названием sowt , что по сути означает "нет сжатия, но маленький endian". Возможно, вам придется проверить это.
Кроме того, простой AIFF не дает возможности проверить эндианность. Стандартный AIFF, который закодирован в little endian похоже, это нарушает спецификацию.