Форум: "Media";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
ВнизЧтение тэгов из WMA и OGG Найти похожие ветки
← →
_Sergey_ (2005-11-26 12:58) [0]Существуют ли какие-нибудь библиотеки для этого?
← →
Antonn © (2005-11-26 12:59) [1]угу, существуют... Audio Tool поищи через яндекс.
или попробуй это: http://an-files.narod.ru/TagInfo_iPlayList.rar 141Кб
← →
_Sergey_ (2005-11-27 18:06) [2]Спасибо за ссылку! Реальный компонент!
Только мне не понятен один глюк... Добавил файлы в плейлист, пытаюсь прочитать имена файлов по двойному клику на компоненте:for i:=0 to PlayListAdv1.Count-1 do
if PlayListAdv1.GetItemSelect(i) then n:=i;
pl:=PlayListAdv1.GetitemsFiles;
ShowMessage(pl[n]);
После клика появляется Message, а через несколько секунд выделенный файл перемещается в начало списка! В чем может быть дело?
← →
Antonn © (2005-11-27 18:36) [3]там есть событие, типа - OnTrack - возникает, когда трек становится выделенным и проигрывается (кстати, сразу возвращает и путь к файлу).
и OnSelect - при выделении строки.
И еще св-во GetItemTrack, возвращает нумер строки track"утой(ну той самой, которая сейчас играет)
← →
Antonn © (2005-11-27 18:39) [4]_Sergey_ (27.11.05 18:06) [2]
pl:=PlayListAdv1.GetitemsFiles;
кстати, так лучше не делать. у TStrings есть addItems
← →
Antonn © (2005-11-27 19:01) [5]ан нет, вру:)
GetTracking - возвращает номер трека проигрываемого
OnTracking - событие при назначении треку статуса проигрываемого (номер строки тоже передает)
GetitemsFiles - составляет список путей для всех файлов в плейлисте. т.е. возвращает список путей. в принципе - нафиг не нужен
а вообще - глянь файл info_IPLAdv.txt, там описаны почти все св-ва, события и тд.
← →
_Sergey_ (2005-11-29 15:24) [6]Спасибо за совет, реально помогло. А теперь еще один вопрос. Как отловить нажатие кнопки Del (OnkeyPress и т.д. не подходят). Ситуация такая: На Label показывается общая длительность плейлиста. Но, если юзер удаляет файл, то она должна меняться! Я просматриваю все песни (
for i:=0 to playlist.count-1 do
. А если песня удалилась, то Count становится меньше на один. Получается нужно смотреть от 0 до Count-2. А если песен несколько? Что тогда?
← →
Antonn © (2005-11-29 17:13) [7]_Sergey_ (29.11.05 15:24) [6]
Как отловить нажатие кнопки Del (OnkeyPress и т.д. не подходят).
в принципе подходит, это я промахнулся в одном месте, count при удалении не обновляется:(procedure TForm1.PlayListAdv1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var i,sum,num:integer;
begin
case key of
vk_Delete: begin
sum:=0;
num:=PlayListAdv1.GetitemsFiles.Count-1; //таким образом заново получаем кол-во элементов
for i:=0 to num do begin
sum:=sum+PlayListAdv1.GetItemDuration_m(i);
end;
sum:=trunc(sum/1000); //кол-во секунд
label1.Caption:=inttostr(sum);
end;
end;
end;
← →
_Sergey_ (2005-11-30 18:19) [8]Кстати, сохранение плейлиста работает неправильно, пришлось писать свою процедуру... Функция не сохраняет длительность каждого файла, вернее, сохраняет ноль...
← →
Antonn © (2005-12-01 07:34) [9]Для какого типа - pls или m3u?
ЗЫ хм, у меня такое чувство, что в архиве старая версия... Процедура GetItemPL есть? И какая версия пишется на компоненте в дизайн-тайме?
← →
_Sergey_ (2005-12-01 10:54) [10]Для m3u. Pls не пользуюсь...
А процедура GetItemPl есть.
← →
Antonn © (2005-12-01 12:16) [11]а как происходит добавление в ПЛ? Что-то перепробывал все, никак не получается с нулевой длительностью, все нормально. А если в pls сохранить, тоже нулевая?
А в самом ПЛ длительность есть? может при "ручном" добавлении Duration_m неправильно вводится (там милисекунды должны быть)?
Так же при включенном SlowADD обработчик не OnAdd, а OnAddOnTimer.
← →
_Sergey_ (2005-12-01 16:10) [12]
> А в самом ПЛ длительность есть? может при "ручном" добавлении
> Duration_m неправильно вводится (там милисекунды должны
> быть)?
В самом плейлисте все нормально. А насчет того, что добавлять надо в мс, ничего не знал. Завтра проверю, сообщу...
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c