如何在 VB6 中访问 iTunes DB?
Posted
技术标签:
【中文标题】如何在 VB6 中访问 iTunes DB?【英文标题】:How can I access the iTunes DB in VB6? 【发布时间】:2012-05-30 05:19:06 【问题描述】:我正在尝试重写一个名为 Pod Player 的闭源程序(用 VB6 编写)。为了做任何事情,我需要能够访问 iPod 的数据库并将其加载到一系列 ListBox 控件中。我需要访问的是:任何播放列表及其包含的内容、iPod 的名称、曲目编号、歌曲名称、流派、艺术家、专辑、歌曲路径、它们的评级、UIN、文件大小、长度,最好是专辑插图。如果需要,我还需要能够更改评级信息。那么如何在 VB6 中与 iPod 的 DB 交互(读/写)?
或者是否可以用另一种语言编写一个 DLL 或 OCX 来执行此操作并由 VB6 程序调用/使用?
我还应该提到,Pod Player 使用了 SharePod 的部分或大部分代码(在 SP 转为 .NET 之前)。
我找到了database parser on Planet Source Code 并尝试了包含的演示表单以及在我的 Pod Player 重写中的实现,但是(根据演示表单)它在退出之前只读取了 76% 的数据库,因为播放列表相关的问题。我在 iNano 4 和 iShuffle 4 上对其进行了测试,两者都与 Pod Player 完全兼容。我怎样才能让它(解析器在 iPod.bas 中)正常工作?
【问题讨论】:
我高度怀疑 Apple 会发布他们的数据库格式。您可以尝试对其进行逆向工程,但希望它随时会发生变化。 iPod 数据库似乎与最初的 iPod 保持一致,因为 Pod Player 能够访问几乎任何现有的磁盘模式 iPod(iTouch 除外),除了 iPod Nano 6(可能使用一些DB的奇怪变体)。 根据来自 PSC 的 Jack 的说法,“所有 iPod 数据库(或至少 iTunesDB 文件)的构造都是相同的”。不过,不确定这是否适用于 iNano 6。 【参考方案1】:看看这个页面:http://homepage.ntlworld.com/simon.mason20/ipod_tunes_spec.htm
它包含 iTunes 数据库格式的详细信息
【讨论】:
以上是关于如何在 VB6 中访问 iTunes DB?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Catalina 中访问“iTunes 共享”文件?