Playing Wav file in Ruby

A

Andy Korth

Greetings,
I'm interesting in writing a small ruby script that will play a wav
file. I'm using
ruby 1.8.2 (2004-12-25) [powerpc-darwin8.0]

I haven't found anything other than what seems to be a windows only
solution:
http://rubyonwindows.blogspot.com/2007/05/adding-sound-to-your-ruby-apps.html

I've tried invoking applications that would play a sound through the
system command, but none of them have worked very well.

Here's my code thus far:

Dir.glob("*.{WAV,wav}") do |sound|
puts "Playing #{sound}, (n)ext or return to replay"
case readline.strip
when '':
system("playsound " + sound)
redo
when 'n'
next
when 'q'
exit
else
redo
end
end

Thank you very much for your time,
Andy
 
T

tommylil

I've tried invoking applications that would play a sound through the
system command, but none of them have worked very well.

You do get it to play that way, right? I ran into the same situation a
few weeks ago, ending up doing the very same thing u did, calling an
external app. Simply using `playsound #{file}` will do. But if there
is any libraries making it possible to do it natively from Ruby
(without having to start writing one ourselves), I would love to hear
about it.

Tommy
 
K

Konrad Meyer

--nextPart2546559.oAuuocu4ZO
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Quoth (e-mail address removed):
=20
You do get it to play that way, right? I ran into the same situation a
few weeks ago, ending up doing the very same thing u did, calling an
external app. Simply using `playsound #{file}` will do. But if there
is any libraries making it possible to do it natively from Ruby
(without having to start writing one ourselves), I would love to hear
about it.
=20
Tommy

Any of the game libraries / SDL bindings ought to do the trick (that's as
close to native as you'll find). `playsound' isn't a program on my system,
so it wouldn't work for me. Find a command on your system (sorry I don't
know MacOSX at all) to play it, and that'll be fine for small scripts.

HTH,
=2D-=20
Konrad Meyer <[email protected]> http://konrad.sobertillnoon.com/

--nextPart2546559.oAuuocu4ZO
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQBG9LD4CHB0oCiR2cwRArBkAKDQcswTErFtfXRkGIpEk6zrZB8ODwCgzXw0
45rG1V7PLc/xvojV0NLzs+A=
=Uwk5
-----END PGP SIGNATURE-----

--nextPart2546559.oAuuocu4ZO--
 
A

Andy Korth

You do get it to play that way, right? I ran into the same situation a
few weeks ago, ending up doing the very same thing u did, calling an
external app. Simply using `playsound #{file}` will do. But if there
is any libraries making it possible to do it natively from Ruby
(without having to start writing one ourselves), I would love to hear
about it.

Tommy

Ah yes, sorry for lack of clarification. Playsound is part of SDL, but
it opens an application, puts it in the dock, plays the sound and exits.
It's very awkward for running inside a script. I suspect I will have to
look into SDL bindings... very overkill perhaps.

Thanks Konrad and Tommy for the quick replies.

-Andy
 
T

tommylil

Ah yes, sorry for lack of clarification. Playsound is part of SDL, but
it opens an application, puts it in the dock, plays the sound and exits.
It's very awkward for running inside a script. I suspect I will have to
look into SDL bindings... very overkill perhaps.

Thanks Konrad and Tommy for the quick replies.

-Andy

I got a plain commandline version of playsound running on my Mac, that
won't open up any apps in the dock.. Have a look here:
http://steike.com/code/playsound/ (think this is it). And Konrad,
sorry for being fuzzy.

T
 
A

Andy Korth

I got a plain commandline version of playsound running on my Mac, that
won't open up any apps in the dock..

T

Well, that's pretty much perfect! Thanks. It's a completely different
program with the same name. It responds much faster than the SDL
playsound command.

Thanks a lot!

-Andy
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,228
Members
46,817
Latest member
AdalbertoT

Latest Threads

Top