Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 05.11.2017, 20:34
romserg romserg вне форума
Прохожий
 
Регистрация: 29.03.2015
Сообщения: 12
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Вопросы по id3v2

Скачал тут модуль из темы http://www.delphisources.ru/forum/showthread.php?t=6621, но не понимаю некоторых вещей.

1. В спецификации на http://id3.org/id3v2.4.0-structure сказано:
Цитата:
The frame ID is followed by a size descriptor containing the size of
the data in the final frame, after encryption, compression and
unsynchronisation. The size is excluding the frame header ('total
frame size' - 10 bytes) and stored as a 32 bit synchsafe integer.

Size 4 * %0xxxxxxx

Т.е. только 7 бит рабочие из восьми. Но в коде библиотеки, указанной выше, приведён код:

Код:
function Swap32(const Figure: Integer): Integer;
var
  ByteArray: array [1..4] of Byte absolute Figure;
begin
  { Swap 4 bytes }
  Result :=
    ByteArray[1] * $1000000 +
    ByteArray[2] * $10000 +
    ByteArray[3] * $100 +
    ByteArray[4];
end;

Который как раз работает с Frame.Size. Но он же из каждого байта берёт все 8 бит! Где ошибка?

2. Не совсем понятно по функции GetANSI в той библиотеке: она переводит только ISO-8859-1 и UTF-16 with BOM. И вот во втором случае никакой BOM почему-то не считывается, а автоматически считается, что это UTF-16LE. Хотя на http://id3.org/id3v2.4.0-structure чётко прописано, что при байте кодировки $01 должен быть BOM.
Насколько можно доверять http://id3.org/id3v2.4.0-structure и этой библиотеке?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:06.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter