2009-09-11 46 views
1

我一直在与从iTunes蟒蛇搞乱。iTunes COM - 如何获取歌词

但是,我一直无法访问任何曲目的歌词。

我一直在使用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' 

曲目[1]没有属性'歌词',因为它是'IITTrack'类型。只有'IITFileOrCDTrack',它是'IITTrack'的子类型,具有这个属性。我的问题是如何访问'IITFileOrCDTrack'?或者如何将'IITTrack'转换为'IITFileOrCDTrack'?

对此非常感谢。谢谢。

P.S:有关如何下载iTunes COM接口文档的信息here

回答

3

尝试将其转换这样的(未测试):

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