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

Вниз

Чтение тэгов из 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.031 c
15-1144235817
ilifant
2006-04-05 15:16
2006.04.30
Проблема со справочной системой


9-1128852091
X-Disa
2005-10-09 14:01
2006.04.30
Движение в GLScene


2-1145012564
JB
2006-04-14 15:02
2006.04.30
Принтег не печатает


9-1129016242
max999
2005-10-11 11:37
2006.04.30
Нормаль в OpenGL


15-1144414217
Ezorcist
2006-04-07 16:50
2006.04.30
Как перезагрузить ПК?