python - 适用于 Windows SDK 的 iTunes COM 中的媒体种类

标签 python itunes pywin32 itunes-sdk

我最近发现了适用于 Windows SDK 的 iTunes COM 的强大之处。我正在使用 Python 和 win32com 来与我的 iTunes 库对话。不用说,我的脑袋快要爆炸了。这个 API 棒极了。

不过我有一个问题,如何访问轨道的媒体种类属性?我查看了 SDK 中提供的帮助文件,但没有看到任何迹象。如果您进入 iTunes,您可以修改轨道的媒体类型。这样,如果您的音乐库中有一本有声读物,您可以将媒体种类设置为有声读物,它就会出现在 iTunes 的“书籍”部分中。非常漂亮。

我问的原因是因为我的图书馆播放列表中出现了一大堆垃圾有声读物。

到目前为止,这是我的代码。

import win32com.client

iTunes = win32com.client.gencache.EnsureDispatch('iTunes.Application')
track = win32com.client.CastTo(iTunes.LibraryPlaylist.Tracks.Item(1), 'IITFileOrCDTrack')

print track.Artist, '-', track.Name
print
print 'Is this track an audiobook?'
print 'How the hell should I know?'

提前致谢。

最佳答案

您可能无法找到它的一个原因是 com 对象引用的原子结构可能已过时。 MP4 结构中最受欢迎的原子列表在这里:http://atomicparsley.sourceforge.net/mpeg-4files.html我没有看到媒体类型的原子。我想您可以尝试通过 atomicparsley 解析结构,但据我所知,它只能找到它知道的原子。

简短回答:COM 对象可能不知道 MediaKind 属性。

关于python - 适用于 Windows SDK 的 iTunes COM 中的媒体种类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977304/

相关文章:

python - 如果 Windows 注册表项已存在,请在 Python 中检查

python - 将来自 Twisted `enterprise.adbapi` 的查询添加到由 `twistd` 守护程序创建的 react 器循环

python - subprocess.check_call 与标准输入

python - 仅在不匹配另一个正则表达式时替换正则表达式 (Python)

python - 如何获取自在 praw 上发布帖子以来的时间

rss - PHP 访问 RSS 提要中的 iTunes 标签

ios - iTunes 12 在 iOS 8 安装过程中崩溃

python - 在 excel 中隐藏行不起作用 - pywin32

javascript - 我可以在 Itunes LP 环境中使用跨站点 XmlHttpRequest 吗?

python - ctypes:传递和读取枚举指针