如何从文件系统损坏的 iPod 中提取播放列表?

如何从文件系统损坏的 iPod 中提取播放列表?

我有一台 160 GB 的 iPod Classic。我是 Windows 用户(Windows 7 64 位)。昨天我决定添加一些音乐。在打开 iTunes 之前,我想尝试一些其他的 iPod 管理器。我尝试删除一些音乐。什么也没发生。打开 iTunes,然后检查 iPod,它显示“没有音乐”。

据推测(不太确定)我做错了什么,也许是没有弹出就拔掉了,导致文件系统损坏。

Windows 说我的文件在那里。(140 GB 中大约有 15 GB 的可用空间。)但是,每当我打开 iTunes 并连接 iPod 时,它都会冻结很长时间,然后出现“...恢复 iPod...”。

短与长: 由于我的电脑上有所有的音乐,我可以恢复出厂设置,然后恢复所有内容。我只需要访问我的播放列表。假设它以某种方式存在,有没有办法从电脑上找到数据库并读取该数据库文件?

在此处输入图片描述

答案1

我只需要访问我的播放列表。

假设它以某种方式存在,有没有办法从 PC 上找到数据库并读取该数据库文件?

播放列表存储在 iTunes 资料库文件 ( Library.itl) 中。

该文件包含有关您的歌曲的所有信息(播放列表、评级、播放次数、上次播放、添加日期等)。

它通常位于%USERPROFILE%\Music\iTunes

Stack Overflow 问题ITL(iTunes 资料库)格式讨论读取该二进制文件的方法。

还有Library.xml

包含 iTunes Library.itl 文件中存储的部分(但不是全部)信息。iTunes Library.xml 文件的目的是使您的音乐和播放列表可供计算机上的其他应用程序使用,例如 OS X Mountain Lion 及更早版本中的 iPhoto、Garageband、iMovie 和第三方软件。这些应用程序使用此文件,让您可以更轻松地将 iTunes 资料库中的音乐添加到您的项目中。

来源关于 iTunes 资料库文件

该文件也包含播放列表信息,可以被任何理解 XML 的程序读取。

Library.xml以下是我展示的播放列表的摘录:

<key>Playlists</key>

...

    <dict>
        <key>Playlist ID</key><integer>80466</integer>
        <key>Parent Persistent ID</key><string>21EF34C0E2A2CF0B</string>
        <key>Playlist Persistent ID</key><string>7BE83FC0BF82BF91</string>
        <key>All Items</key><true/>
        <key>Name</key><string>The playlist title</string>
        <key>Playlist Items</key>
        <array>
            <dict>
                <key>Track ID</key><integer>17585</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>17593</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>11015</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>15105</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>15979</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>11077</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>13261</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>13253</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>17589</integer>
            </dict>
            <dict>
                <key>Track ID</key><integer>17587</integer>
            </dict>
        </array>
    </dict>

...

相关内容