如何在命令行执行的ruby中编写播放mp3文件(背景音乐)的脚本?
我试过这个
run = "mplayer #{"/Users/bhushan/resume/m.mp3"} -ao sdl -vo x11 -framedrop -cache 16384 -cache-min 20/100"
system(run)
但它也不起作用,上面是玩家特定的。如果用户没有安装mplayer怎么办?我有更好的方法吗?
答案 0 :(得分:15)
我通常只是做
pid = fork{ exec 'mpg123','-q', file }
答案 1 :(得分:7)
尝试这种方式:这使用鞋子来做魔术,这就是我所希望的一切 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
答案 2 :(得分:1)
您可以编写使用不同播放器的ruby代码。
例如,我使用的课程:
https://gist.github.com/2217498
而不是mplayer,可以使用sox或vlc或其他东西。
在示例中,您始终可以扩展代码。您可以从yaml文件中读取此文件,而不是硬编码的mplayer,您可以动态更改它。
您也可以尝试直接使用gstreamer通过ruby-gtk。
但请记住,ruby本身无法播放音频文件。
如果有人能够创造一个纯粹的红宝石玩家,那将会很酷。
答案 3 :(得分:1)
这是我如何用jruby和外部jar玩它们:https://github.com/rdp/jruby-swing-helpers/blob/master/spec/play_mp3_audio.spec.rb