SqueezeBox 播放器的服务器程序,依发布时间顺序,用过的名称有:SLIMP3 Server(v3.1b1 – v4.2)、SlimServer(v5.0.0-v6.5.4)、SqueezeCenter(v7.0.0-v7.3.4)、SqueezeBoxServer(v7.4.0-当前版本)。瞧着有点乱,是不是?为了行文方便,以下统一称它为 SC Server。
所有正式发布过的 SC Server 历史版本,均可从官方网站下载:http://downloads.slimdevices.com/
SqeezeBox 播放器是澳大利亚 Slim Devices 公司研发的。在它发布了 SqueezeBox Classic V3 之后,到 2008 年时,被 Logitech 收购了。中国的音响发烧友,这两年也陆续开始接受并喜爱上了 SqueezeBox 数字播放器。但中文化一直是个问题,长期困扰着中国的用户。
主要问题:
1、SqueezeBox Classic V3、SqueezeBox Boom 和 Transporter 的屏幕显示汉字丑陋。
2、使用 .cue 文件的整轨专辑乱码。表现:在 SC Server 中,浏览专辑、浏览音乐文件夹等处中文乱码,播放时,曲目清单乱码。
3、保存在 favorites 里的中文乱码。
准备工作:
由于 SC Server 版本众多,所以我先假定你正在使用当前版的 SC Server,即 7.4.1 版。以下叙述以 Windows 版为例,Linux 版大致相同。我用 SqueezeBox Classic V3 作演示(下称SB3)。
1、SC Server 7.4.1 的取得。请从官方网站直接下载:http://www.mysqueezebox.com/download。如果你用 Windows 操作系统,请选 “Windows 2000/XP/Visa/7 (50MB)”,Linux 则根据你的 Linux 发行包,分为 for Debian/Redhat/Perl 版,请根据你的实际情况选用。在这里,我用的是“Perl Source Code(tar.gz-55MB)”。
2、安装 SC Server 7.4.1。这一步应该没有什么可讲的,请按系统提示,一步一步操作即可。如果遇到需要输入 mysqueezebox.com 帐号,如果你有就填入,没有就去注册一个。一切均有提示,在此我就不多说了。
3、安装完 SC Server 之后,启动它,然后打开浏览器,访问:http://127.0.0.1:9000,在 SC Server 的 WebGui 界面的右下角,找到“Settings”,点击它,弹出新窗,打开设置界面。“Basic Settings”的标签的第一项,就是“Language”,即设置语言的地方。这里,请点开下拉菜单,选择你熟悉的“简体中文”。之后,请点击右下角处的“Apply”,保存设置(立即生效)。
4、现在,回到 SB3 吧。
第一个问题:SB3 屏幕显示汉字时缺笔划,美观度差。
问题成因:SC Server 自带的屏显字库,不能正确显示中文字符。
解决方法:从你的 XP 的字库里,寻找一款能够显示点阵汉字时不缺笔划的字体,去替换 SC Server 的字库。SC Server 的字库文件名是:CODE2000.TTF,存放目录:C:\Program Files\Squeezebox\server\Graphics。在这里,我将 XP 自带的“黑体”字库,将它拷出来,改名为 CODE2000.TTF,然后替换到 SC Server 的上述目录里去。我用 XP 64 位英文版,它的黑体中文字库文件名是:“simhei.ttf”。另外,安装 MS Office 之后,你可以找到一个叫“华文中宋”的中文字库,这是我当前的选择。当然,你也可以用其他中文字库尝试着替换一下看看。
上面提到的字体,都是有版权的,所以我在这里不能提供下载,请根据我提供的线索自行寻找。
替换完 CODE2000.TTF,然后重启 SqueezeBox Server,生效。
第二个问题:使用 .cue 文件的整轨专辑乱码。在 SC Server 中,浏览专辑、浏览音乐文件夹等处中文乱码,播放时,曲目清单乱码。
问题成因:不明。我猜是 SC Server 开发组中,应该没有中国人或者日本人。西人对双字节的字符文字的处理,不太留意,结果导致在历史各个版本中,这个问题被反复修正,又反复在后续版本中再次出现。
解决方法一:寻找并使用一个正常工作的版本。经验证,7.2.1 这个版本对中文最友善。其次是 7.3.2 这个版本。SC Server 历史版本的下载网址是:http://downloads.slimdevices.com/
这个方法推荐给下述播放器的使用者:SqueezeBox Classic V3、Boom、Transporter。
注意:这个方法建议你一定要把 .cue 保存成 utf-8 格式,并且你的操作系统也能处理 utf-8,这样才不会中文乱码。我喜欢用的一个文本编辑器是 Ultraedit32,用它可以将 .cue 改存成 utf-8 格式。Ultraedit32 的官方网址:http://www.ultraedit.com
还有一点需要提醒的是:请忽略 SC Server 7.3.4 这个版本,因为它已经被官方放弃了,没有成为最终的稳定发行版。
解决方法二:对于使用双字节字符的专辑,例如“中文简体/繁体/日文”,停用整轨,改用分轨。
对于 SqueezeBox Radio 和 Touch 的玩家,“解决方法一”是失效的。原因是,Radio 和 Touch 因为“新特性”的原因,必须要和 SC Server 7.4 或者以上的版本配合。
经过中文用户多次投诉,SC Server 开发组已经纠正了当前版本“浏览音乐文件夹”时的中文乱码问题。但是在浏览“浏览专辑”、“最新引进的音乐”时,如果你的专辑使用的是 .cue 整轨,中文仍然会乱码。虽然这个问题已经有人提交给了 bugfix 组,但目前仍然未见到修正版的出现。
经验证,停用整轨,改用分轨时,可以解决中文乱码。
我用 foobar2000 这个软件,做整轨转分轨的转换。当然,这种转换工作,仅限于使用双字节字符的专辑。对于只使用单字节西文字符的专辑,就没有必要做这一步了。foobar2000 的官方网址:http://www.foobar2000.org/
SqueezeBox 系列播放器通过 SC Server 变相支持 APE 文件的播放,但它对 APE 附带的 CUE 文件无视,所以 APE 整轨文件无法在 SqueezeBox 播放器里进行分轨播放。解决的办法是:将所有的 APE 文件转换为 FLAC 格式。我用 dBpowerAMP 转换器,dBpowerAMP 的官方网址:http://www.dbpoweramp.com/。
第三个问题:保存诸如电台名称到 favorites 里时,电台名称不能用中文名,会乱码。
问题成因:这是一个 Web 编程问题。解决的办法就是修正 Web 程序,纠正它处理保存汉字的问题。
解决方法:我写这篇文章,当然不是为了来教会别人学写程序的。所以修正这个问题,还是交由 SC Server 开发组去做,我们耐心等侯就行了。那么,作为普通用户,还有其他变通方法吗?当然有的。既然我已经分析出,这个故障出现在将中文名称存盘时才会发生,所以我们可以透过避免让 SC Server 执行“保存中文名称”的动作,而只是让 SC Server 去读取并显示 favorites 里的中文电台名称。
我首先假定你需要保存到 favorites 里的电台不会太多。因为在 SqueezeBox 播放机里搜索到的电台,但凡是有中文名称的,可以通过点击“心形”标志,直接保存进 favorites,所以不会发生中文乱码。而没被 SqueezeBox 收录的中文电台,估计数目也不会太多。
好了,既然不让 SC Server 去“存”,那我用 ultraedit32 或者 Windows 里自带的写字板等文本编辑器去完成“存”中文的事好了。
用文本编辑器,将两个 —cut— 之间的内容,保存成文件:favorites.opml。
—cut—
<?xml version=”1.0″ encoding=”UTF-8″?>
<opml version=”1.0″>
<head title=”Favorites”>
<expansionState></expansionState>
</head>
<body>
<outline URL=”电台流媒体的绝对网址” text=”中文电台名称一” type=”audio” />
<outline URL=”电台流媒体的绝对网址” text=”中文电台名称二” type=”audio” />
</body>
</opml>
—cut—
上面的是简单的 HTML 代码,我想你花点时间应该能看懂吧?参照上述格式,你可以添加更多的电台。
准备好 favorites.opml 这个文件后,请打开 SC Server 管理界面,找到 favorites,将鼠标放在 favorites 上,你会看到右侧有一个笔形标志,移动鼠标到这个标志上面,会显示“编辑”两字。现在,点击这个编辑键,进入 favorites 的二级菜单。在这里,请点击“import”,再点击“选择”,将刚才你保存好的 favorites.opml 文件找出来,然后点击“import”。
搞定。
重要:致使用 Squeezebox Radio、Squeezebox Touch 和 Squeezebox Duet 遥控手柄的用户:如果你看完上文,还是没有解决你的播放器的中文乱码问题,请接着看另一篇文章:《Squeezebox Radio、Squeezebox Touch 和 Squeezebox Duet 遥控手柄显示屏正确显示中文的方法》
近期评论