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