SERGE_BLIZNUK
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AntonVA1 Цитата: JCL - в первую очередь - супер! а JVCL - во вторую ;-)) А вообще, сильно меня подкосило, когда они при переходе с версии JVCL 2.10 на 3.xx поменяли имена компонетов, мало того, некоторые компоненты поперносили из одного модуля в другой, переименовали сами модули и т.д. и т.п... и ещё - огромный недостаток JCL(JVCL) - как раз в его монстрообразности. я уверен, что наша команда не использует и 10% от того, что там есть (и отнюдь не потому, что нам остальные 90% не нужны - мы просто о них не знаем!)... И то, что в JCL/JVCL собраны разные библиотеки, начиная от легендарной RxLib (всё помнят такую? ;-))) - делает данный пакет крайне мощным, но чрезвычайно запутанным ;-))) кстати, буквально месяц назад человечек час отлаживал код, пытаясь занести символ с кодом > 127 в поле Char TJvMemoryTable... пока не перешёл на TJvMemoryData - а там это работает без проблем... ;-))) Maks150988 Цитата: Возникла идейка проверять сигнатуру файла | дык, насколько я понимаю, в общем случае для mp3 файла сигнатуры как раз и нет... Конечно, подавляющее большинство файлов имеют в начале байты "ID3" - но это далеко не факт!!! (с википедии из статьи "MP3" "Most MP3 files today contain ID3 metadata, which precedes or follows the MP3 frames" В общем случае, сигнатура файла обычно вначале - окрываешь файл на чтение, читаешь в буфер BlockRead (или в поток через TFileStream ) несколько байт - сравниваешь с заданной последовательность ("сигнатурой") - совпало - можешь разбирать дальше заголовок (если он есть, конечно). Добавлено похоже я был прав только частично... вот здесь http://www.digitalpreservation.gov/formats/fdd/fdd000105.shtml - в части File type signifiers сказано, что хотя "There is no "official" file format associated with MPEG-1 and MPEG-2 content. Many MP3 files contain both the audio bitstream and ID3 metadata." и ещё - Magic numbers Hex: FF FB From The File Extension Source. The compiler of this document seeks confirmation of the accuracy of these numbers, or about their applicability to all variants of MP3. The standards document for the MP3_ENC bitstream (ISO/IEC 11172-3:1993, section 2.4.2.3, p. 20) states that MPEG-1 audio headers begins with "1111 1111 1111" (syncword) followed by "1" (for this standard), followed by "01" for layer III, followed by "1" if the stream has no redundancy, and then provides bits that indicate stream's bitrate. The bitstream "1111 1111 1111 1011" has "FFFB" as its hexadecimal equivalent. т.е. грубо говоря, в начале mp3 файла должно быть или метка ID3 или байты "FFFB" |