c - 是否可以使用 ALSA 同时捕获麦克风和线路输入?

标签 c linux audio alsa

不太熟悉 ALSA,但我支持使用它的应用程序。

是否可以同时从麦克风和线路输入录制音频?不一定要混合音频,尽管这是已请求的可能性。两者都可以设置为记录并使用 ALSA 单独读取吗?

关于 ALSA 的文档并不是很有帮助,这基本上是我第一次使用 ALSA 在 Linux 上进行混音。

我们将不胜感激任何帮助;希望有人在过去做过类似的事情,或者有一个示例可以分享,或者有一个链接可以为我指明正确的方向。

最佳答案

也许这可以做到:不确定,但来自 http://www.jrigg.co.uk/linuxaudio/ice1712multi.html ,未经测试,但这将为您提供 1 个具有 4 个 channel 的虚拟设备。

pcm.multi_capture {  
    type multi  
    slaves.a.pcm hw:0  
    slaves.a.channels 2  
    slaves.b.pcm hw:1  
    slaves.b.channels 2  
    bindings.0.slave a  
    bindings.0.channel 0  
    bindings.1.slave a  
    bindings.1.channel 1  
    bindings.2.slave b  
    bindings.2.channel 0  
    bindings.3.slave b  
    bindings.3.channel 1  
}  

我不知道你是否可以将它们与路由或正确的语法混合使用:

pcm.route_capture {  
 type route  
 slave.pcm "multi_capture"  
 ttable.0.0 0.5  
 ttable.1.1 0.5  
 ttable.0.2 0.5  
 ttable.1.3 0.5  
}  

pcm.route_capture {  
 type route  
 slave.pcm "multi_capture"  
 ttable.0.0 0.5  
 ttable.1.1 0.5  
 ttable.2.0 0.5  
 ttable.3.1 0.5  
}  

如果有人测试,请告诉我们结果?谢谢!
祝你好运!

关于c - 是否可以使用 ALSA 同时捕获麦克风和线路输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8043912/

相关文章:

c++ - Linux C++ : Accessing network statistics

java - 脚本未运行

android - Xamarin交叉通知自定义声音

linux - 不使用 sudo 更改 root 用户拥有的文件的权限

javascript - 如何使用 Javascript 同时加载和播放音频文件

c# - Windows Phone 8.1 Silverlight应用程序中的音频记录问题

c - fgets() 和 strcpy() 的问题

c - 我的 malloc 结构出现段错误 11

c++ - 如何从 OpenGL 中的纹理中删除黑色背景

c - 2way缓存关联?我从内存中读取了多少字节?