从 LinuxToy 上面看见关于 Mp3blaster 的介绍 ,但是有很多兄弟反应他不支持中文 ID3。由于这个问题我以前也碰到过,而且是已经解决了的,下面说说我的解决的办法。
包路径下有个 src/id3parse.cc 文件,里面有一个函数如下:
/* tampers with 's' to replace non-printable chars with dots. */
void
convert_to_sane_string(char *s)
{
unsigned int
cnt = strlen(s),
i;
for (i = 0; i < cnt; i++)
{
if (s[i] < (char)32)
s[i] = '.';
}
}
它的主要问题就是 strlen 不支持多字符集(比如中文),所以都将中文转换成了 '.'(点) 。而本身这个函数就起到一个过滤的功能,所以加上多字符集的判断(Multibyte String)我个人感觉没有必要,就直接注释掉了。
最后发现中文 ID3 就可以正常显示了(手气真的不错)。下面是一个效果图一张:
最后,提供我修改后的代码 打包下载 ,感谢本部门的唐工同志提供 Linux 环境。