Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.07.12;
Скачать: CL | DM;

Вниз

Как узнать продолжительность звукового файла?   Найти похожие ветки 

 
NaRuTo ©   (2009-05-21 07:50) [0]

Здраствуйте, Как узнать продолжительность звукового файла в секундах? Не прибегая к библиотеке Bass.Dll. Заранее спасибо.


 
Palladin ©   (2009-05-21 07:53) [1]

если соответствующая информация есть в заголовке, то прочитать ее


 
CodeMaster ©   (2009-05-21 07:53) [2]

Читал на
http://ru.wikipedia.org/wiki/ID3_%28%D0%BC%D0%B5%D1%82%D0%B0%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%29#.D0.A1.D1.82.D1.80.D1.83.D0.BA.D1.82.D1.83.D1.80.D0.B0

То что каким-то образом перед ID3V1 хранится расширенная информация 227 Байт. Пытался прочитать эту информацию, но ничего не получается :
type
 TMP3Title = record
   TAG: String[4];
   Title: String[60];
   Artist: String[60];
   Albom: String[60];
   Bitrate: String[1];
   Genre: String[30];
   TimeBegin: String[6];
   TimeEnd: String[6];

end;
.......
var
Mp3Title: TMp3Title;
MFile: File;
begin
 AssignFile(MFile,FileName);
 Reset(MFile,1);

 Seek(MFile,FileSize(MFile) - 227);

 BlockRead(MFile,Buffer,SizeOf(Buffer));

 with Mp3Title do begin
   TAG:= Copy(Buffer,1,4);
   Title:= Copy(Buffer,5,60);
 end;
........

Вывожу Mp3Title в какой-нибудь текстовый диалог тот же ShowMessage - появляются закорючки заместо обычных букв.


 
Palladin ©   (2009-05-21 07:56) [3]

Ишь ты... Янус...
packed в record добавь...


 
CodeMaster ©   (2009-05-21 07:59) [4]

Всё равно показывает закорючки


 
Palladin ©   (2009-05-21 08:00) [5]

А что там по ссылке? Как структура описана?


 
CodeMaster ©   (2009-05-21 08:01) [6]

заголовок  4  «TAG+»
название  60  Ещё 60 байт с названием (всего получается 90)
артист  60  Ещё 60 байт с исполнителем
альбом  60  Ещё 60 байт с названием альбома
скорость музыки  1  Чем больше число, тем выше скорость («0» обозначает неизвестное значение)
жанр  30  30-символьная строка
время начала  6  время в формате mmm:ss
время конца  6  время в формате mmm:ss


 
Palladin ©   (2009-05-21 08:05) [7]

как Buffer описан?


 
CodeMaster ©   (2009-05-21 08:07) [8]

Buffer: array[1..227] of Char


 
Palladin ©   (2009-05-21 08:25) [9]

Эксперимент показал Seek(MFile,FileSize(MFile) - 127);
Где 100 лишних байт в заголовке, хз. Можешь открыть в фаре mp3 файл и убедится сам.


 
Palladin ©   (2009-05-21 08:27) [10]

Заголовок там не TAG+, а просто TAG, значит уже 3 символа. Ищи дальше несоответствия.



Страницы: 1 вся ветка

Текущий архив: 2009.07.12;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
15-1241688579
ford
2009-05-07 13:29
2009.07.12
что быстрее


2-1242649889
Mishenka
2009-05-18 16:31
2009.07.12
Sql запрос для таблица которая связана сама с собой


2-1242651148
Wadim005
2009-05-18 16:52
2009.07.12
Как организовать поиск текста по шаблону?


8-1195059532
Боб
2007-11-14 19:58
2009.07.12
SoundRecorder A.Galilov


2-1242709063
Rimdus
2009-05-19 08:57
2009.07.12
TAdoConnection в DLL