iTunes COM - Как получить доступ к текстам песен - PullRequest
1 голос
/ 11 сентября 2009

Я возился с iTunes COM из python.

Однако я не смог получить доступ к текстам песен любого трека.

Я использовал Python для этого. Вот код:

>>> 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'

track [1] не имеет атрибута «Lyrics», поскольку он имеет тип «IITTrack». Только 'IITFileOrCDTrack', который является подтипом 'IITTrack', имеет этот атрибут. У меня вопрос, как получить доступ к IITFileOrCDTrack's? Или как конвертировать IITTrack в IITFileOrCDTrack?

Любая помощь в этом очень ценится. Благодаря.

P.S: информация о том, как загрузить документацию по интерфейсу iTunes COM здесь .

1 Ответ

3 голосов
/ 11 сентября 2009

Попробуйте преобразовать это так (не проверено):

track_converted = win32com.client.CastTo(tracks[1], "IITFileOrCDTrack")
...