5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/cheep/play.rb', line 5
def self.play(samples, filename = 'cheep.wav')
writer_format = WaveFile::Format.new :mono, :pcm_16, SAMPLE_RATE
buffer_format = WaveFile::Format.new :mono, :float, SAMPLE_RATE
WaveFile::Writer.new filename, writer_format do |writer|
writer.write(WaveFile::Buffer.new samples, buffer_format)
end
platform = `uname`.chomp
case platform
when 'Darwin'
system "afplay #{filename}"
when 'Linux'
system "aplay #{filename}"
else
abort "I don't know how to play wavs on #{platform}"
end
end
|