EMMS: Ошибка: "Не знаю, как играть в трек"

Я работаю с Emacs 24.0.92 (9.0) на Mac OS X 10.7.3. Я загрузил и установил EMMS через git clone git://git.sv.gnu.org/emms.git и мои ~/.emacs содержат...

(add-to-list 'load-path "~/.emacs.d/emms/lisp")
(require 'emms-setup)
(emms-standard)
(emms-default-players)

... как предлагается на http://www.gnu.org/software/emms/quickstart.html

Если я использую M-x emms-play-directory и выбираю каталог, содержащий .mp3 файлов, я получаю:

Don't know how to play track: (*track* (type . file) (name
. "/path/to/music/first song in this directory.mp3") (info-mtime 19612 57269)
(metadata))

У меня нет mplayer, но VLC установлен и отлично работает хорошо. Какие дополнительные настройки мне нужны, чтобы это работало?

Обратите внимание, что список игроков содержит VLC (и другие - только по умолчанию). Я также установите его только в VLC, но это дало ту же ошибку.

Также обратите внимание, что я нашел аналогичную ошибку в https://superuser.com/info/179186/emms-emacs-multimedia-system-error-in-emacs-dont-know-how-to-play-track но "решение" там действительно не объясняет, в чем проблема.

Ответ 1

попробуйте выполнить два шага, которые работают на моей Mac OS X 10.7.4

  • установить mplayer на Mac

    brew установить mplayer

  • Добавьте/usr/local/bin (где находится mplayer) в emacs exec-path, добавив следующую строку в ваш файл ~/.emacs

    (setq exec-path (append exec-path '( "/usr/local/bin" )))

BTW. Ниже приведена вся конфигурация, связанная с emms в моем файле .emacs:

(setq exec-path (append exec-path '("/usr/local/bin")))
(add-to-list 'load-path "~/.emacs.d/site-lisp/emms/lisp")
(require 'emms-setup)
(require 'emms-player-mplayer)
(emms-standard)
(emms-default-players)
(define-emms-simple-player mplayer '(file url)
      (regexp-opt '(".ogg" ".mp3" ".wav" ".mpg" ".mpeg" ".wmv" ".wma"
                    ".mov" ".avi" ".divx" ".ogm" ".asf" ".mkv" "http://" "mms://"
                    ".rm" ".rmvb" ".mp4" ".flac" ".vob" ".m4a" ".flv" ".ogv" ".pls"))
      "mplayer" "-slave" "-quiet" "-really-quiet" "-fullscreen")

Ответ 2

У меня EMMS отлично работает с VLC на Mac OS X 10.9.1, это моя конфигурация, связанная с EMMS:

(add-to-list 'load-path "~/.emacs.d/emms/lisp")
(require 'emms-setup)
(require 'emms-player-vlc)
(emms-standard)
(emms-default-players)
(setq emms-player-vlc-command-name
      "/Applications/VLC.app/Contents/MacOS/VLC")

Ответ 3

У меня была та же проблема с Emacs 23.2 при сжатии Debian.

Мне удалось решить это благодаря ссылкам, которые вы дали, но я понятия не имею, что происходит...
Я добавил следующее:

(setq emms-player-list '(emms-player-mpg321
                         emms-player-ogg123
                         emms-player-mplayer))

;debug players
(emms-player-for '(*track* (type . file)
                           (name . "myfile.pls")))

'eval-current-buffer' недостаточно, мне пришлось перезапустить emacs. Затем, если я удаляю эти строки, emms продолжает работать...
Эмс было так сложно сделать работу для меня. Mpg123 может быть менее функциональным, но гораздо проще: http://wikemacs.org/wiki/Media_player#Mpg123

Ответ 4

Кажется, что emms имеет проблемы с пробелами в имени пути. Удалите пробелы в имени пути, и он должен работать, если у вас нет других проблем. Почему вы хотите запускать emms в os x в любом случае?

Ответ 5

Это исправляет это для меня:

(setq emms-player-mpg321-parameters '("-o" "alsa"))