Esta función es util para acceder con REALbasic a cualquiera de los meta datos de un fichero de video Quicktime, un *.MOV.
Para ello se usa un DICTIONARY de REALbasic que no es otra cosa que un objecto hash con un comportamiento similar a los hash de Perl y PHP, por poner un ejemplo.
Esto permite que esta función pueda devolver información de uno o varios tags, según nuestras necesidades.
Function LLgTagsMov(peli as editableMovie, ByRef d as Dictionary)
Dim i as Integer
Dim unBool As Boolean
Dim sortida As String
Dim eltag As String
for i=0 to d.Count-1
eltag=chr(169)+d.Key(i).StringValue
if peli.UserData.UserDataCount(eltag) > 0 then
unBool=peli.UserData.GetUserDataText(eltag,1,sortida,0)
if unBool then
sortida=DefineEncoding(sortida,Encodings.UTF8)
sortida=ConvertEncoding(sortida,Encodings.UTF8)
d.Value(d.Key(i))=sortida
else
sortida="No puedo leer: "+eltag
d.Value(d.Key(i))=sortida
end if
else
sortida="No existe: "+eltag
d.Value(d.Key(i))=sortida
end
next
End Function
// para llamar a esta función hacemos algo como esto:
Dim peli As EditableMovie
Dim f As FolderItem
// definimos el Dictionary y los nombres de tags que queremos leer
Dim d as New Dictionary
d.Value("nam")=""
d.Value("cmt")=""
d.Value("cpy")=""
d.Value("day")=""
d.Value("dir")=""
d.Value("fmt")=""
f=GetFolderItem("sample.mov")
peli=f.OpenEditableMovie
// llamamos a la función y le pasamos la pelicula y por referencia el Dictionary creado
LLgTagsMov(peli,d)
// y solo nos quedara "recorrer" d mostrando/procesando la información recogida, según nuestros intereses