Linux,C音频采集(只是麦克风)库

我正在开发一个音乐游戏,它就像一个明星,但不是唱歌,你必须玩recorder.它被称为oFlute,它仍处于早期开发阶段.

在游戏中,我捕获麦克风输入,然后运行简单的FFT分析,并将结果与​​典型的录音机频率进行比较,从而得到播放音符.

一开始,我使用的音频库是RtAudio,但我不记得为什么我切换到PortAudio,这是我目前正在使用的.问题在于,它会不时地随机崩溃或停止捕获,就像没有来自麦克风的声音一样.

我的问题是,在Linux上捕获麦克风输入的最佳选择是什么?我只需要打开,读取和关闭麦克风的字节流.

我一直在阅读this guide,并且(un)令人惊讶的是它说:

I don’t think that PortAudio is very good API for Unix-like operating systems.

那么,你推荐我什么?

解决方法:

鉴于其他选择,PortAudio是一个奇怪的选择.

我个人会抽象出一切并使用GStreamer.音频在Linux上可能是一个可怕的混乱(作为长期受害者说话).让Gstreamer处理这个让你忘记它,继续前进而不必再考虑它.

OpenAL可能是游戏开发者中最受欢迎的,它应该支持大多数系统(尽管你会很乐意让它与PulseAudio一起玩得很好).

我肯定会确保你正在开发最流行的设置(目前是PulseAudio,我估计)所以你不会在你释放的情况下陷入困境,而你却陷入了人们的呻吟声关于声音不起作用.

并且不要听听关于PulseAudio的废话 – 它可能是新的,它可能会占用比准系统ALSA系统更多的资源,但它肯定不会陷入延迟问题.要求人们删除它不是现代桌面发行版的选择,因为它是如此紧密集成(也是有用的).

上一篇:Arm-Linux 移植 alsa


下一篇:在bash脚本中设置系统卷(在linux中)