【发布时间】:2015-01-02 00:28:33
【问题描述】:
我正在尝试找出一种使用 Ruby 将 WAV 文件作为流播放的好方法。我找到了这个CoreAudio gem,但似乎无法正常播放音频。当我运行这段代码时,它只会发出非常断断续续的声音。
require 'coreaudio'
require 'thread'
BUFF_SIZE = 1024
Thread.abort_on_exception = true
song = CoreAudio::AudioFile.new("bleh.wav", :read)
outbuf = CoreAudio.default_output_device.output_buffer(BUFF_SIZE)
queue = Queue.new
read_song = Thread.start do
loop do
segment = song.read(BUFF_SIZE)
queue.push(segment)
end
end
play_song = Thread.start do
while segment = queue.pop do
outbuf << segment
end
end
outbuf.start
sleep 10
read_song.kill.join
play_song.kill.join
任何建议将不胜感激,谢谢!
【问题讨论】:
-
看看这个教程code.tutsplus.com/articles/… 它在流媒体音乐方面的真正作用
标签: ruby audio signal-processing core-audio