LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 860|回复: 2

如何让GXMMS2支持中文

[复制链接]
发表于 2007-7-17 06:46:13 | 显示全部楼层 |阅读模式
XMMS2下有好多 Graphical Clients

上次装了个GXMMS2感觉还不错,就是不支持中文。好像有方法让它支持中文列表。

我也去网上搜了下

该补丁可以让中文mp3的tag自动识别,同时正常显示utf8和gbk的tag 。在utf8的locale下面测试OK。



20061202版的补丁:xmms2_gbk.patch



xmms2-git-20070415版补丁: xmms2-git_gbk.patch

xmms2-git-20070415版PKGBUILD文件 :PKGBUILD.xmms2-git

xmms2-git-20070415版arch二进制包:xmms2-git-20070415-2-i686.pkg.tar.gz



gxmms2-git-20070421 ,打包在一起了,里面有pkgbuild,和源码,二进制包: gxmms2-all.tar.bz2


。。。。不知道怎么打补丁。盼高手赐教
发表于 2007-7-17 15:13:51 | 显示全部楼层
xmms2不是不支持中文,而是太多的mp3 id3 tag不规范了;
参考:
Sat, 23 Jul 2005
ID3 tag data and encoding issue

I finally spend some time to look into the encoding issue about ID3 tag. The following is what I have studied so far!

ID3v1 and ID3v2 are two totally different thing despite the common purpose. ID3v1 (and ID3v1.1) is very simple, 128 bytes appended at the end of the media file. While ID3v2 is a more formal specification.tag is an informal standard.

ID3v1 and ID3v1.1
    ID3v2 website has two very good articles for the background and format
ID3v2 (version 2.2.0, 2.2.1, 2.3.0 and v2.4.0)
    Much more mature specification for msuic tag data. The documents can be found here. (ID3v2.0)

What encoding is used to encode text data?

With ID3v1, there is no place for storing the encoding / codepage of text data (title, artist name, etc). In practice, locale dependent encoding is used!

With ID3v2, text data is stored inside a 'text frame'. Within each text frame, there is a frame header, followed by a "frame len byte", which followed by a "text encoding description byte". However, according the specification, if text data is not stored as Unicode, it must be stored as ISO8859-1.

For ID3v2.3.0, the "text encoding description byte" has two possible values:
0x00         :         ISO8859-1 (latin1)
0x01         :         Unicode (UCS2?) (MUST BEGIN with BOM and END with UTF16 0x0000)

For ID3v2.4.0, the "text encoding description byte" has four possible values:
0x00         :         ISO8859-1 (latin1)
0x01         :         UTF-16 (BEGIN with BOM and END with 0x0000)
0x02         :         UTF-16BE (DO NOT BEGIN with BOM and END with 0x0000)
0x03         :         UTF-8
Issues:

ID3v2 provide much more functionality and is far better than the old ID3v1. However, there is a problem plaguing the usability of ID3v2. To comply with the specification, text data inside the ID3v2 tag MUST be encoded as Unicode, if it cannot be encoded as ISO8859-1. Some software will just encode the text data with the legacy encoding (which is used as in ID3v1), and set the "text encoding description byte" as 0x00 (ISO8859-1). When user use another truly standard compliant software to open the music file, the tag will not be rendered correctly, as the software will treat the text data as ISO8859-1, even though the text data is actually encoded with legacy encoding. Clearly, the problem will not go away in the near future, as most users will have hundreds (if not thousand) of music files in their harddisk, is it impractical to convice everyone converting the old files just for standard conformance.

This problem is discussed a few times in various mailing list / bugzilla.

   1. Rhythmbox mailing lists
   2. id3lib mailing lists
   3. Gstreamer bugzilla

Workaround:

To overcome the problem, existing software have to provide some workaround. For example, by setting 'GST_ID3_TAG_ENCODING', gst-plugins-mad will interprete non-unicode text data as legacy encoded strings instead of ISO8859-1 encoded strings. $ export GST_ID3_TAG_ENCODING=big5hkscs
$ rhythmbox For eyeD3, I have made a patch myself to do something similar, you can use '--legacy-encoding' to specify the legacy encoding to use. $ eyeD3 --legacy-encoding big5hkscs [other options...]
Related software

The following list is only a small subset of existing software, but this will be those of which I have/will play attention to

    * Library
    *
          o libid3tag (mad)
          o
            id3lib Unicode issue is dicussed here
    * Player
    *
          o Rhythmbox
          o Beep Media Player
          o Muine
    * Tag Editor
    *
          o EasyTag
          o eyeD3
    * Gripper
    *
          o Sound Juicier
          o Grip


你所说的wind的补丁就是将iso8859-1替换为了gbk,
这样能解决一中文标签的显示问题,
但不是所有的问题;
有需要可以从这里下载打了gbk补丁的Fedora7 rpm包。
回复 支持 反对

使用道具 举报

发表于 2007-7-17 15:22:58 | 显示全部楼层
怎么用它播放 myMusic.mp3 哩!

在 Console 中打命令启动 GUI,
或 inside Console 都行。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表