iTunes COM - 如何访问歌词

1 投票
1 回答
747 浏览
提问于 2025-04-15 14:16

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

tracks[1]没有'Lyrics'这个属性,因为它是'IITTrack'类型的。只有'IITFileOrCDTrack',这是'IITTrack'的一个子类型,才有这个属性。我的问题是,怎么才能访问'IITFileOrCDTrack'?或者怎么把'IITTrack'转换成'IITFileOrCDTrack'?

任何帮助都非常感谢。谢谢。

附注:关于如何下载iTunes COM接口的文档信息可以在这里找到。

1 个回答

3

试着这样转换它(没测试过):

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

撰写回答