2

我的 Emacs-emms 配置有问题。歌曲 ID3tags中的 Unicode 特殊字符似乎没有呈现其 unicode。例如,Trentemøller(音乐乐队)显示为 Trentem\370ller。它似乎来自 mp3info(在 Emacs 外部使用 mp3info 时,这些字符也无法很好地呈现),emms 在使用播放器 mpg321 时使用它。我怎么能在这里解决我的问题?你对其他 emms-backend-players 有这样的问题吗?您是否以没有此问题的方式配置您的 emm?如果是这样,你的配置是什么?

我在 MacOSX 上工作。在我的终端控制台中,Unicode 没有问题,无论是使用 Bash 还是安装其他 shell。

编辑: emms 用来播放文件的命令是:

mplayer -slave -quiet -really-quiet <song_file.mp3>

在控制台模式下,mplayer 也存在 unicode 问题。所以在我看来,它要么来自 mp3info,要么来自 mplayer。

我的emms配置:

;; EMMS
(require 'emms-setup)
     (emms-standard)
     (emms-default-players)

(require 'emms-player-simple nil 'noerror)
     (require 'emms-source-file nil 'noerror)
     (require 'emms-source-playlist nil 'noerror)
     (setq emms-player-list '(emms-player-mpg321
                              emms-player-ogg123
                              emms-player-mplayer))

(setq emms-info-asynchronously nil)
(setq emms-source-file-default-directory "~/Music/")
(setq emms-playlist-buffer-name "*Music*")
(setq emms-player-mpg321-parameters '("-o" "alsa"))

我的 .emacs 中的 Unicode 设置

(setq locale-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-selection-coding-system 'utf-8)
(prefer-coding-system 'utf-8)
(set-language-environment "UTF-8")
(set-input-method nil)
(setq read-quoted-char-radix 10)
4

2 回答 2

1

可能您可以使用 emms-print-metadata 来设置 mp3info。

在 emms 包中包含 emms-print-metadata.c:

gcc emms-print-metadata.c -ltag -ltag_c -o emms-print-metadata

将 emms-print-metadata 移动到您的路径,并将这一行添加到您的 .emacs 中:

(require 'emms-info-libtag) (setq emms-info-functions '(emms-info-libtag))

享受。:-)

于 2012-03-02T07:24:01.457 回答
0

我认为,您还需要设置“default-process-coding-system”变量 - 它用于所有 I/O 操作......

于 2011-06-27T09:19:46.663 回答