IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Get Klb/s - Help!, Get KLB/s - HELP!!!
сообщение
Сообщение #1


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


У меня небольшая проблема!Мне нужно чтобы на TLabel отображалось скоко клилобит в секунду данный файл!(TMediaPlayer)!
dry.gif


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






У тебя какой формат файла? Если mp3, то я где-то уже выкладывал, как считать содержимое его тегов, поищи по форуму. Если другой - говори, какой, придется искать, где именно хранится эта информация...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Мне нужно чтобы универсально к любому формату!(Ну кроме там таких как 3GP,AMR и других мобильных форматов)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Извини "гость" это я!


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Уууу... Тогда я - пас. Это тебе не Compound Files, у которых это хранится в альтернативном потоке данных, и не MP3, где все хранится в ELIF тегах. "Универсально" - понятие растяжимое... Очень растяжимое. И малореальное...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Мне нужно MP3 и WAV!


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата(Артемий2 @ 11.08.2006 11:49)
Мне нужно MP3...

C MP3 помогу. Вот такой код работает у меня (20 правильных значений BitRate на 20 файлах), но, возможно, это работает НЕ всегда. Погоняй код:

// В s передается имя файла MP3
procedure TForm1.ReadMp3Info(const s: string);
var
f: File;
buffer: array[0 .. 31] of byte;
Lay, mpeg, btr: byte;

const
bitRateTable: array[0 .. 15, 0 .. 4] of integer = (
( 0, 0, 0, 0, 0 ),
( 32000, 32000, 32000, 32000, 8000 ),
( 64000, 48000, 40000, 48000, 16000 ),
( 96000, 56000, 48000, 56000, 24000 ),
( 128000, 64000, 56000, 64000, 32000 ),
( 160000, 80000, 64000, 80000, 40000 ),
( 192000, 96000, 80000, 96000, 48000 ),
( 224000, 112000, 96000, 112000, 56000 ),
( 256000, 128000, 112000, 128000, 64000 ),
( 288000, 160000, 128000, 144000, 80000 ),
( 320000, 192000, 160000, 160000, 96000 ),
( 352000, 224000, 192000, 176000, 112000 ),
( 384000, 256000, 224000, 192000, 128000 ),
( 416000, 320000, 256000, 224000, 144000 ),
( 448000, 384000, 320000, 256000, 160000 ),
( -1, -1, -1, -1, -1 )
);

begin
assignfile(f, s);
reset(f, 1);
blockread(f, buffer[0], 32);

Lay := (buffer[1] shr 1) and 3;
mpeg := (buffer[1] shr 3) and 3;

case mpeg of
// mpg-1.0
3: case lay of
3: mpeg := 0;
2: mpeg := 1;
1: mpeg := 2;
end;

// mpg-2.0
0, 2:
case lay of
3: mpeg := 3;
2, 1: mpeg := 4;
end;
end;

btr := (buffer[2] shr 4) and $0F;

// Записываем BitRate в Edit
edit1.Text := 'Bitrate: ' + inttostr(bitRateTable[btr, mpeg]);

closefile(f);
end;

Источник информации: MPEG Audio Layer I/II/III frame header

P.S.
С Wav посмотрю позже, что можно придумать...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 20.09.2017 7:19
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"