как я могу воспроизвести mp3 файл? - PullRequest
5 голосов
/ 27 марта 2012

Как мне написать скрипт на ruby, который воспроизводит mp3-файл (фоновую музыку) при запуске из командной строки?

Я пробовал это

run = "mplayer #{"/Users/bhushan/resume/m.mp3"} -ao sdl -vo x11 -framedrop -cache 16384 -cache-min 20/100"
system(run)

но это не работает, выше, это зависит от игрока. Что делать, если у пользователя не установлен mplayer. Есть ли лучший способ?

Ответы [ 4 ]

15 голосов
/ 10 июня 2012

Я обычно просто делаю

pid = fork{ exec 'mpg123','-q', file }
7 голосов
/ 27 марта 2012

Попробуй так: это использует обувь, чтобы творить магию, это все, что тебе нужно, я надеюсь, http://rubylearning.com/blog/2008/05/31/a-teeny-weeny-mp3-player-using-ruby-and-shoes/

#my_mp3player01.rb
Shoes.app do
  button( 'play' ){ @v.play }
  button( 'pause' ){ @v.pause }
  button( 'stop' ){ @v.stop }
  @v = video "C:/rubyprograms/mp3player/ruby.mp3"
end
1 голос
/ 27 марта 2012

вот как я их играю с jruby и внешней банкой: https://github.com/rdp/jruby-swing-helpers/blob/master/spec/play_mp3_audio.spec.rb

1 голос
/ 27 марта 2012

Вы можете написать код ruby, который использует разных игроков.

Например, класс, который я использую:

https://gist.github.com/2217498

Вместо mplayer можно использовать soxили vlc или что-то еще.

В вашем примере вы всегда можете расширить свой код.Вместо жестко запрограммированного mplayer вы можете прочитать это из файла yaml, который вы можете динамически изменить.

Вы также можете попробовать напрямую использовать gstreamer через ruby-gtk.

Но помните, что ruby ​​inСам по себе не может воспроизводить аудиофайлы.

Было бы здорово, если бы кто-то смог создать чистый проигрыватель ruby.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...