在Linux中正确configuration声卡

我怎样才能正确地configuration一个声卡在Linux使用软电话。 与ALSA,OSS和ESD有什么不同或相关? 哪一个控制什么?

我试图没有成功configuration各种软电话,我不能正确控制audio…

一些build议将不胜感激!

在继续之前,您正在使用哪个Linux发行版?

首先是一些定义:

  • OSS

这是最古老的声音驱动程序架构。 这是贬值,虽然大多数内核保持在周围,因为很旧的声卡将具有OSS驱动程序。

  • ALSA

这是OSS的替代品。 它有点新,支持更新的卡。 如果您在工作站上本地播放声音,并且没有使用ESD或PulseAudio,则可能是通过ALSA直接连接到卡。

  • ESD

这是一种称为esound的软件混音器。 可持续发展教育背后的理念是,声音不再直接与硬件联系,而是与networking传输相连,而networking传输可能会或可能不会在本地播放。 声音被混合,然后被发送到适当的目的地被播放,在那里它被“丢弃”到OSS或ALSA驱动器中进行播放。 可持续发展教育有一些缺点,正在慢慢贬值。

  • 的PulseAudio

这是一个最终将取代可持续发展教育的单独项目。 它为networking声音传输提供单一接口,同时与OSS,ALSA和ESD向后兼容。 它将输出(称为“汇”,通常是其他客户或硬件声卡)的声音input(称为“源”,即麦克风或其他networkingstream)分开。 Ubuntu已经开始使用这个版本,虽然它有一些粗糙的优势,但是每个版本的处理能力都要好一些,我认为这个版本很快就会接近1.0。

PulseAudio的主要优势在于,它不仅可以向后兼容那些希望使用ALSA或OSS的旧软件,而且还可以提供一个稳定的API, 同时为瘦客户机或其他远程会话提供networking传输 。 有一些已知的缺点,尤其是重载系统或需要实时优先级的声音处理。 这些问题正在积极地开展工作。

对于configuration,如果你正在运行一个Red Hat变种(Red Hat Linux,CentOS,Fedora),你可以使用sndconfig命令来设置你的声音,尽pipe我觉得这个方法有点老套,最终被replace。 您将需要以root用户身份运行此命令,或者使用sudo,因为它会进行系统范围的更改。

对于Ubuntu安装,声音通常在安装时自动configuration。 从8.04开始,默认声音是通过PulseAudio驱动的。

对于Debian安装,您需要将相应的人员添加到相应的组以激活他们的声音。 没错,在Debian系统中使用声音是一种特权(为了防止多用户系统上的其他用户恶作剧),并且您需要成为一个组的成员(我相信这是“健全的”,一段时间之后不必这样做),让声音工作。

其他发行版将有单独的声音设置说明。

这将是艾弗雷·佩恩的答案的评论,但我还是太新,在这里显然评论。

OSS本身绝对不被弃用。 它closures了一段时间的源码,不再在Linux内核中更新,但仍然是许多其他* nixes的方式。 至于Linux支持,它也是非常多的,你只需要自己安装。

关于Linux上音响系统的一般情况,您可以阅读由Insane Coder提供的最优秀的文章,url是http://insanecoding.blogspot.com/2009/06/state-of-sound-in-linux-不那么抱歉.html 。