Playing Wav file in Ruby

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:

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

···

--
Posted via http://www.ruby-forum.com/.

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

···

On Sep 22, 4:18 am, Andy Korth <andy.ko...@gmail.com> wrote:

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

Quoth tommylil@gmail.com:

···

On Sep 22, 4:18 am, Andy Korth <andy.ko...@gmail.com> wrote:
> 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

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,
--
Konrad Meyer <konrad@tylerc.org> http://konrad.sobertillnoon.com/

tommylil@gmail.com wrote:

···

On Sep 22, 4:18 am, Andy Korth <andy.ko...@gmail.com> wrote:

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

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
--
Posted via http://www.ruby-forum.com/\.

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:
old (think this is it). And Konrad,
sorry for being fuzzy.

T

···

On Sep 22, 8:38 am, Andy Korth <andy.ko...@gmail.com> wrote:

tommy...@gmail.com wrote:
> On Sep 22, 4:18 am, Andy Korth <andy.ko...@gmail.com> wrote:
>> 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

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
--
Posted viahttp://www.ruby-forum.com/.

tommylil@gmail.com wrote:

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

···

--
Posted via http://www.ruby-forum.com/\.