Вверх ↑
Ответов: 100
Рейтинг: 10
#1: 2013-07-19 22:11:50 ЛС | профиль | цитата
MAV, спасибо, статья полезная, нужно будет на досуге поразбираться. Единственная загвоздка в том, насколько я понял из статьи, что расположение метаданных в m4a произвольное, наверное есть какая-то специальнакя секция данных, в которых указано расположение тегов в файле? Пока пользуюсь давно (уже не помню кем) подсказанным способом считывания тегов (точнее считывание их из свойств файла) через VB-script, хоть и немного не тот способ, которым хотелось бы добиться результата, да и в ХР не работает, т.к. сама система не дружит с м4а. В 7/8 нет никаких проблем по работе скрипта. Кстати, почему-то твоя схема на ХР не работает, на след неделе доберусь до своего компьютера с восьмеркой, протестирую

Add(FilePart,10795269,203,77)
{
NameWOExt=1
link(onPath,10020164:doValue,[])
link(onName,7314340:doValue,[])
}
Add(Memory,10020164,252,77)
{
link(onData,9350761:doClear,[(400,83)(400,160)])
}
Add(Memory,7314340,301,84)
{
link(onData,15369908:doCompare,[(393,90)(393,225)(184,225)(184,181)])
}
Add(VBJScript,1062235,273,182)
{
WorkPoints=#6:doWork|
EventPoints=#6:onRead|
DataPoints=#4:Path|8:FileName|
Script=#24:Sub doWork (Data, Index)|0:|55: Set objShellApp = CreateObject("Shell.Application")|51: Set objFolder = objShellApp.NameSpace(sys.Path)|51: Set objItem = objFolder.ParseName(sys.Filename)|0:|32: strResult = vbNullString|64: strResult = objFolder.GetDetailsOf(objItem, 0) & "|" &_|53: objFolder.GetDetailsOf(objItem, 13) & " |" &_|53: objFolder.GetDetailsOf(objItem, 21) & " |" &_|53: objFolder.GetDetailsOf(objItem, 27) & " |" &_|53: objFolder.GetDetailsOf(objItem, 28) & " |" &_|53: objFolder.GetDetailsOf(objItem, 14) & " |" &_|53: objFolder.GetDetailsOf(objItem, 15) & " |" &_|53: objFolder.GetDetailsOf(objItem, 16) & " |" &_|70: objFolder.GetDetailsOf(objItem, 19) & " |" &_ |54: objFolder.GetDetailsOf(objItem, 20) & " |" &_ |52: objFolder.GetDetailsOf(objItem, 1) & " |" &_|53: objFolder.GetDetailsOf(objItem, 26) & " |" &_|53: objFolder.GetDetailsOf(objItem, 24) & " |" &_|44: objFolder.GetDetailsOf(objItem, 31) |28: sys.onRead strResult|0:|7:End Sub|
UseName=0
link(onRead,15543029:doWork3,[(319,188)])
link(Path,4325696:Var3,[(279,117)])
link(FileName,16629360:Var2,[])
}
Add(StrPart,3413476,336,140)
{
Char="|"
link(onSplit,15543029:doWork1,[(380,146)(380,125)(319,125)])
link(onPart,9350761:doAdd,[])
}
Add(HubEx,15543029,315,140)
{
link(onEvent,3413476:doSplit,[])
}
Add(Memo,9350761,413,147)
{
Left=100
Top=5
Width=380
Height=190
Color=1973790
Font=[MS Sans Serif,8,0,9139319,1]
Ctl3D=1
ScrollBars=1
ReadOnly=0
}
Add(VBJScript,1658486,252,140)
{
WorkPoints=#6:doWork|
EventPoints=#6:onRead|
DataPoints=#4:Path|8:FileName|
Script=#24:Sub doWork (Data, Index)|0:|55: Set objShellApp = CreateObject("Shell.Application")|51: Set objFolder = objShellApp.NameSpace(sys.Path)|51: Set objItem = objFolder.ParseName(sys.Filename)|0:|32: strResult = vbNullString|64: strResult = objFolder.GetDetailsOf(objItem, 0) & "|" &_|53: objFolder.GetDetailsOf(objItem, 16) & " |" &_|53: objFolder.GetDetailsOf(objItem, 10) & " |" &_|53: objFolder.GetDetailsOf(objItem, 21) & " |" &_|53: objFolder.GetDetailsOf(objItem, 22) & " |" &_|53: objFolder.GetDetailsOf(objItem, 17) & " |" &_|53: objFolder.GetDetailsOf(objItem, 18) & " |" &_|53: objFolder.GetDetailsOf(objItem, 20) & " |" &_|70: objFolder.GetDetailsOf(objItem, 99) & " |" &_ |53: objFolder.GetDetailsOf(objItem, 9) & " |" &_ |52: objFolder.GetDetailsOf(objItem, 1) & " |" &_|53: objFolder.GetDetailsOf(objItem, 19) & " |" &_|53: objFolder.GetDetailsOf(objItem, 14) & " |" &_|49: objFolder.GetDetailsOf(objItem, 99) |28: sys.onRead strResult|0:|7:End Sub|
UseName=0
link(onRead,15543029:doWork2,[])
link(Path,4325696:Var2,[])
link(FileName,16629360:Var1,[(265,128)])
}
Add(ComputerInfo,7521657,175,112)
{
Mask=""
WinInfoMask="%M"
}
Add(If_else,15369908,196,175)
{
Type=3
Op2=Integer(5)
link(onTrue,1658486:doWork,[(240,181)(240,146)])
link(onFalse,1062235:doWork,[])
link(Op1,7521657:WinInfo,[])
}
Add(GetDataEx,16629360,280,123)
{
Angle=1
link(Data,7314340:Value,[(307,128)])
}
Add(GetDataEx,4325696,252,112)
{
link(Data,10020164:Value,[])
}
Add(Label,1573434,413,35)
{
Left=5
Top=5
Width=91
Height=192
Color=1973790
Font=[MS Sans Serif,8,0,9139319,1]
Caption="Имя:
Исполнитель:
Название:
Длительность:
Битрейт:
Альбом:
Год:
Жанр:
Оценка:
Авторы:
Размер:
Номер дорожки:
Комментарии: "
AutoSize=1
Alignment=1
}
Add(Button,3860687,91,77)
{
Left=160
Top=205
Width=85
Caption="open file"
link(onClick,5601059:doExecute,[])
}
Add(ODialog,5601059,140,77)
{
StartDir=""
link(onExecute,10795269:doPart,[])
}

карма: 1

0