5

从命令行执行时,如何在 ruby​​ 中编写一个播放 mp3 文件(背景音乐)的脚本?

我试过这个

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

但它也不起作用,以上是特定于玩家的。如果用户没有安装 mplayer 怎么办。有没有更好的方法?

4

4 回答 4

15

我通常只是做

pid = fork{ exec 'mpg123','-q', file }
于 2012-06-10T12:27:56.727 回答
7

试试这个方法:这使用鞋子来做魔法,我希望这就是你所需要的 http://rubylearning.com/blog/2008/05/31/a-teeny-weeny-mp3-player-using-ruby-and-鞋/

#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
于 2012-03-27T15:38:53.777 回答
1

您可以编写使用不同播放器的 ruby​​ 代码。

例如,我使用的一个类:

https://gist.github.com/2217498

可以使用 sox 或 vlc 或其他东西,而不是 mplayer。

在您的示例中,您始终可以扩展您的代码。您可以从 yaml 文件中读取它,而不是硬编码 mplayer,您可以动态更改该文件。

您也可以尝试直接通过 ruby​​-gtk 使用 gstreamer。

但请记住,ruby 本身不能播放音频文件。

如果有人能够创建一个纯红宝石播放器,那将是很酷的。

于 2012-03-27T16:04:20.823 回答
1

这是我使用 jruby 和外部 jar 播放它们的方法:https ://github.com/rdp/jruby-swing-helpers/blob/master/spec/play_mp3_audio.spec.rb

于 2012-03-27T17:47:30.003 回答