导火索:
体积高达64MB的iTunes 8.0 在Windows 7上无法正常使用。
安装后大小接近120MB的iTunes我只使用它的往shuffle上同步歌曲的功能(windows上的好播放器够多了)
强制安装QuickTime
iTunes管理的歌曲脱离iTunes进行管理,U盘上都是以XXXX.mp3 四个随机的大写字符命名的,自己拖进去的歌曲播放不了。
如果你也有此困惑,那就不得不考虑一下同样的问题了。使用
iPod shuffle database builder (即rebuild_db)可以解决这个问题。 它允许用户在U盘上建立任意多层文件夹,文件名命名成什么都可以。然后他检索U盘上的所有文件,为其生成一个shuffle的数据库文件。这样一来,即使不安装iTunes,也可以一样使用shuffle了;并且这种直接用U盘管理文件的方式,更符合我们国内用户的使用习惯。
rebuild_db弊端就是不支持中文曲名。为此,我读了一下的一下它的源码,将其中对文件名的处理中添加了对gb2312编码的支持,即将中文文件名也以unicode方式存入数据库中。结果发现ipod居然播放不了这些文件。和rebuild_db的作者Martin Fiedler(非常友善热情)讨论了一下,他认为ipod可能就不支持除了ansi以外的编码,因为没有必要。这个观点我也很赞同:因为IPOD的设计思路似乎是歌名都是通过id3 tag来显示的,文件管理又是通过iTunes来进行的,所以磁盘上完全可以做的更简单一些。这样可以省却了对目录的管理和对文件名编码的处理。Martin Fiedler的建议是使用英文命名目录和歌曲,这样就一了百了了。而这显然不是中国用户的想法。:)
为此,我也写了一个perl程序REName FILE to ANSI (renfileansi.pl),为rebuild_db做预处理:运行renfileansi.pl会将非ansi的文件名转换为十六进制数形式的文件名(这就是ansi的了),再次运行一遍renfileansi.pl就会把文件名恢复成原来的名字。
用法简介:
1. 在Shuflle的U盘上可以任意创建中文目录或者英文目录,歌曲名也可以是中文或者英文或者中英文混合。
2. 将renfileansi.pl放在u盘根目录,双击之,将中文的文件和目录名转换成十六进制形式编码。
3. 将rebuild_db.py放在u盘根目录,双击之,将所有文件添加进shuffle数据库。
也可以在命令行中运行重建整个数据库:rebuild_db.py -f
对于直接使用Windows格式化的shuffle u盘需要手动添加目录\iPod_Control\iTunes,rebuild_db是据此判断该u盘是不是ipod的
4. 当需要添加、删除歌曲的时候,先再次执行renfileansi.pl,待所有中文目录和文件恢复原来的名字后再做整理。
下载:
1. rebuild_db.py
http://sourceforge.net/project/showfiles.php?group_id=1364462. renfileansi.pl
本地下载3. Active Python (rebuild_db.py 需要使用, google一下就能找到下载)
4. Active Perl (renfileansi.pl 需要使用, google一下就能找到下载)