我正在制作一个在本地网络上进行群组音频聊天的程序(这可以帮助课堂上的学生随机分组,而不是旁边的学生)。
它顺利进行直到我找不到宝石才能访问麦克风和扬声器。有人建议我可以在Windows上使用win32 api,或者在Linux上使用一些shell命令。但我希望如果可能的话,我可以用ruby来做。
有人可以给我一个基于ruby gem的解决方案来访问麦克风和扬声器吗? 如果我错过任何必要的细节,请告诉我。
提前致谢。
答案 0 :(得分:3)
您可以尝试Ruby-PortAudio
此软件包包含对PortAudio api的Ruby绑定。 PortAudio是一个交叉 音频硬件的平台接口。
ruby-portaudio包支持PortAudio apis:blocking和 无阻塞。阻塞API允许Ruby脚本迭代填充 然后将样本缓冲区写入音频硬件(更高版本将 也支持从缓冲区读取)。非阻塞api允许Ruby程序 充当外部回调定义的音频流的控制器 功能。因为回调函数可能在中断中运行,所以不是 在Ruby中实现一个真的很可行。但是,您可以编写回调 在C扩展中的函数,或者你可以使用LLVM或LibJIT构建自己的函数 http://github.com/jvoorhis/Motivik