我们想编写一个 Windows/OS X 应用程序,将 iPod 和 iTunes 中的播客收视率信息发送回服务器。两个问题:
- 是否有关于如何将评级数据存储在 iTunes 中的文档,
- 如果用户将 iTunes 设置为自动删除他听过的节目,有没有办法在收视率数据消失之前捕获它?
我们想编写一个 Windows/OS X 应用程序,将 iPod 和 iTunes 中的播客收视率信息发送回服务器。两个问题:
我怀疑数据文件格式是否有官方规范,但您可以在 iTunes 目录的“iTunes Music Library.xml”文件中找到评级信息。查找一个名为“Rating”的键,其值为从 0 到 100 的整数值。如果用户没有对该项目进行评分,它将不存在。例如,4 星评级的值为 80。
iTunes 将其音乐库数据和评分存储在用户机器上的 XML 文件中。在 Windows 中,它位于“音乐”或“我的音乐”文件夹中。
您可以打开“iTunes Music Library.xml”文件并查找 Rating 元素以查看用户对每首歌曲的评分。由于它的 XML,它是不言自明的。这应该很容易从您正在编写的程序中打开和解析。
我认为 iTunes 在程序关闭之前不会从其 xml 文件中删除播客。只要 iTunes 仍处于打开状态,您就应该能够获取该评分数据。
除了 xml 文件之外,还有一个 COM 接口可以让您访问所有库信息,包括每首歌曲的评分。SDK 已记录在案。
我不知道你想用什么语言,但我用 C# 与 iTunes 交互,非常流畅。