Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2011, 11:49   #1
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию Длина mp3 трека: как узнать?

Добрый день. Как можно узнать сколько идет mp3 трек в делфи?
ramzes777 вне форума Ответить с цитированием
Старый 29.09.2011, 11:57   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

TMediaPlayer -> Length
ZuBy вне форума Ответить с цитированием
Старый 29.09.2011, 12:34   #3
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

Это я нашел, только как оттуда вывести точное количество секунд?
Там получается кол.-во секунд + 3 цифры в конце.
ramzes777 вне форума Ответить с цитированием
Старый 29.09.2011, 12:40   #4
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

Все, разобрался, это милисекунды))))
Спасибо)))
ramzes777 вне форума Ответить с цитированием
Старый 29.09.2011, 12:54   #5
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

Почему-то происходит погрешность в подсчетах на 0,216.
Вот код:
Код:
var a:extended;
begin
a:=MediaPlayer1.TrackLength[1];
a:=(a/1000);
a:=round(a);
a:=a/60;
richedit1.Lines.Add('min:');
richedit1.Lines.Add(floattostr(a));
ramzes777 вне форума Ответить с цитированием
Старый 29.09.2011, 13:06   #6
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

Получается погрешность при определении длины - 36 милисекунд. Почему?
ramzes777 вне форума Ответить с цитированием
Старый 29.09.2011, 13:24   #7
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

тему можно закрывать. Правильный код:
Код:
procedure TForm1.Button3Click(Sender: TObject);
var min,sec,mil:integer;
begin
mil:=MediaPlayer1.TrackLength[1];
min:=(mil mod 3600000) div 60000;
sec:=(mil mod 60000) div 1000;
mil:=mil mod 1000;
richedit1.Lines.Add('min right:');
richedit1.Lines.Add(inttostr(min)+':'+inttostr(sec));
end;
ramzes777 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить нули перед числом, чтобы длина числа получилась 8? artemavd Общие вопросы Delphi 2 07.07.2011 19:30
Длительность трека через Bass.dll DIgorevich Мультимедиа в Delphi 4 31.08.2010 21:08
Вывод продолжительности трека KatCH Общие вопросы Delphi 1 07.04.2010 17:57
Delphi. как добавить в Memo 5 строк, длина каждой 10 символов. Nostalgia Помощь студентам 3 21.03.2010 12:31
MediaPlayer - как сделать последовательное воспроизведение mp3 файлов (именно mp3) Kashp Компоненты Delphi 13 28.09.2007 08:38