Pregunta

He estado jugando con iTunes COM desde python.

Sin embargo, no he podido acceder a la letra de ninguna pista.

He estado usando Python para esto. Aquí está el código:

>>> import win32com.client
>>> itunes = win32com.client.Dispatch("iTunes.Application")
>>> lib = itunes.LibraryPlaylist
>>> tracks = lib.Tracks
>>> tracks
<win32com.gen_py.iTunes 1.12 Type Library.IITTrackCollection instance at 0x16726176>
>>> tracks[1]
<win32com.gen_py.iTunes 1.12 Type Library.IITTrack instance at 0x16746256>
>>> tracks[1].Lyrics
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
  File "D:\Programas\Python26\lib\site-packages\win32com\client\__init__.py", line 462, in __getattr__
    raise AttributeError("'%s' object has no attribute '%s'" % (repr(self), attr))
AttributeError: '<win32com.gen_py.iTunes 1.12 Type Library.IITTrack instance at 0x16780824>' object has no attribute 'Lyrics'

tracks [1] no tiene el atributo 'Lyrics' porque es del tipo 'IITTrack'. Solo 'IITFileOrCDTrack', que es un subtipo de 'IITTrack' tiene este atributo. Mi pregunta es cómo acceder a 'IITFileOrCDTrack's? ¿O cómo convertir un 'IITTrack' a un 'IITFileOrCDTrack'?

Cualquier ayuda en esto es muy apreciada. Gracias.

PD: Información sobre cómo descargar documentación de la interfaz COM de iTunes aquí .

¿Fue útil?

Solución

Intenta convertirlo de esta manera (no probado):

track_converted = win32com.client.CastTo(tracks[1], "IITFileOrCDTrack")
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top