2012-03-27 29 views
5

Làm thế nào tôi có thể viết một tập lệnh bằng ruby ​​để phát tệp mp3 (nhạc nền) khi được thực thi từ dòng lệnh?Tôi làm cách nào để phát tệp mp3?

Tôi cố gắng này

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

nhưng nó không làm việc cũng có, ở trên là máy nghe nhạc cụ thể. nếu người dùng không có trình cài đặt mplayer. Có cách nào tốt hơn không?

+0

nó nói gì khi nó không hoạt động? nó hoạt động từ dòng lệnh? – rogerdpack

+0

Vì bạn dường như đang sử dụng máy Mac, tại sao bạn lại sử dụng '-vo x11'? –

+0

nó không nói gì cả. giá trị trả lại là 'false' của câu lệnh cuối cùng –

Trả lời

14

Tôi thường chỉ làm

pid = fork{ exec 'mpg123','-q', file } 
+8

trên mac-os-x pid = fork {exec 'afplay', file} – Simonini

1

Bạn có thể viết mã ruby ​​có sử dụng cầu thủ khác nhau.

Ví dụ, một lớp tôi sử dụng:

https://gist.github.com/2217498

Thay vì mplayer, người ta có thể sử dụng bít tất hoặc vlc hay cái gì khác.

Trong ví dụ ví dụ, bạn luôn có thể mở rộng mã của mình. Thay vì mplayer hardcoded, bạn có thể đọc này từ một tập tin yaml, mà bạn có thể tự động thay đổi.

Bạn cũng có thể thử sử dụng gstreamer qua ruby-gtk trực tiếp.

Nhưng hãy nhớ, bản thân ruby ​​không thể phát tệp âm thanh.

Sẽ thật tuyệt nếu có ai đó có thể tạo ra trình phát ruby ​​thuần khiết.

Các vấn đề liên quan