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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2011, 19:33   #1
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию Узнать продолжительность mp3 файла

Как можно узнать продолжительность mp3 файла в Делфи?

НЕ через Tmediaplayer.

Воспроизводить, ничего с ним делать не нужно. Просто узнать длинну.
Кучу библиотек перекачал, ничего не работает... (MPEG Audio и т.п.)
ramzes777 вне форума Ответить с цитированием
Старый 24.10.2011, 20:01   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Зайдите на http://websound.ru/
Там в разделе "Программисту -> Библиотека" в самом низу есть "Audio Tools Library v2.3 для Borland Delphi". Скачайте исходники (ссылка на файл atl.zip). Там есть класс TMPEGaudio, а у класса свойство Duration. Там и примеры есть. (examples.zip)
mihali4 вне форума Ответить с цитированием
Старый 24.10.2011, 20:24   #3
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

"Кучу библиотек перекачал, ничего не работает... (MPEG Audio и т.п.)"

Она у меня уже есть. Сами примеры работают, а исходники нет. Пишет нету файлов .dcu.
ramzes777 вне форума Ответить с цитированием
Старый 24.10.2011, 20:59   #4
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

используйте bass.

на счет ATL:
чтобы выдернуть из тегов продолжительность, она там должна быть прописана!
ramzes777, какая версия Delphi? ATL работает только в не юникодных версиях.
(хотя я вроде уже выкладывал, юникодный atl)
ZuBy вне форума Ответить с цитированием
Старый 24.10.2011, 21:02   #5
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

Delphi 7.
Проверял на нескольких композициях.
Басс у меня что-то вообще треки не открывает
ramzes777 вне форума Ответить с цитированием
Старый 24.10.2011, 21:29   #6
ramzes777
Пользователь
 
Регистрация: 15.09.2011
Сообщений: 92
По умолчанию

Решение: использовал басс.
При форм.креэшн:
Код:
if not bass_init(-1, 44100, 0, handle, nil) then halt;
Процедура:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var ffilename:pchar;
begin
filename:='Название трека';
if not fileexists(filename) then showmessage('no file');
ffilename:=pchar(filename);
Channel:=bass_streamCreateFile(false, ffilename,0,0,0);
bass_channelplay(channel,false);
if channel=0 then showmessage('ERROR!!!');
BASS_ChannelBytes2Seconds(Channel, BASS_ChannelGetLength(Channel, BASS_POS_BYTE)); {Длина трека}
 end;

Последний раз редактировалось mihali4; 24.10.2011 в 22:23.
ramzes777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длина mp3 трека: как узнать? ramzes777 Мультимедиа в Delphi 6 29.09.2011 13:24
Циклическое воспроизведение mp3 файла в delphi Dr.Win32 Мультимедиа в Delphi 2 30.06.2010 07:58
Длительность (продолжительность) видео-файла и Access Рысь Комнатная Microsoft Office Access 10 30.10.2009 17:15
Получение размера mp3 файла Mickle Общие вопросы Delphi 1 05.04.2007 00:32
структура mp3 файла Roman Помощь студентам 1 28.12.2006 12:45