user11112 Asked: 2009-06-30 14:17:32 +0800 CST2009-06-30 14:17:32 +0800 CST 2009-06-30 14:17:32 +0800 CST 在 Linux 中正确配置声卡 772 如何在 linux 中正确配置声卡以与软电话一起使用。与 ALSA、OSS 和 ESD 有何区别或相关性。哪个控制什么? 我正在尝试配置各种软件电话但没有成功,我无法正确控制音频... 一些建议将不胜感激! linux desktop softphone 2 个回答 Voted Avery Payne 2009-06-30T14:29:15+08:002009-06-30T14:29:15+08:00 在继续之前,您使用的是哪个 Linux 发行版? 首先,一些定义: 开源软件 这是最古老的声音驱动架构。它已被贬值,尽管大多数内核保留它,因为非常旧的声卡将具有 OSS 驱动程序。 肌萎缩侧索硬化症 这是OSS的替代品。它有点新,支持更新的卡。如果您在工作站上本地播放声音,并且没有使用 ESD 或 PulseAudio,那么它可能是通过 ALSA 直接连接到卡的。 静电放电 这是一种名为esound的软件混音器。ESD 背后的想法是,声音不再直接与硬件相关,而是与网络传输相关,网络传输可能会或可能不会在本地播放。声音被混合然后发送到适当的目的地进行播放,在那里它被“放置”到 OSS 或 ALSA 驱动程序中进行播放。ESD有一些缺点,并且正在慢慢贬值。 脉冲音频 这是一个独立的项目,最终将取代 ESD。它为网络声音传输提供单一接口,同时向后兼容 OSS、ALSA 和 ESD。它将声音输入(称为“源”,即麦克风或其他网络流)与输出(称为“接收器”,通常是其他客户端或硬件声卡)分开。Ubuntu 已经开始使用它,虽然它有粗糙的边缘,但每个版本的处理听起来都更好一些,并且该版本(我认为)正在迅速接近其 1.0。 PulseAudio 的主要优势在于,它不仅向后兼容需要 ALSA 或 OSS 的旧软件,而且还提供了保持一致的健全 API,同时为瘦客户端或其他远程会话提供网络传输。有一些已知的缺点,特别是对于需要实时优先级的重负载系统或声音处理。这些问题正在积极解决。 对于配置,如果您运行的是 Red Hat 变体(Red Hat Linux、CentOS、Fedora),您可以使用sndconfig命令来设置声音,尽管我认为这种方法有点老套,最终会被替换。您将希望以 root 身份运行此命令,或使用 sudo,因为它将进行系统范围的更改。 对于 Ubuntu 安装,声音通常在安装时自动配置。从 8.04 开始,默认声音是通过 PulseAudio 驱动的。 对于 Debian 安装,您需要将适当的人员添加到适当的组中,以便为他们激活声音。没错,使用声音是 Debian 系统上的特权(以防止其他用户在多用户系统上恶作剧)并且您需要成为组的成员(我相信它是“声音”,有一段时间不必这样做了),让声音正常工作。 其他发行版将有单独的声音设置说明。 Mikael Auno 2009-06-30T14:42:06+08:002009-06-30T14:42:06+08:00 这本来是对 Avery Payne 的回答的评论,但我在这里显然还是太新了,无法发表评论。 OSS 本身绝对不会被弃用。它关闭源代码一段时间,不再在 Linux 内核中更新,但仍然是许多其他 *nixes 的方式。至于 Linux 支持,它也仍然存在,您只需要自己安装即可。 至于 Linux 上声音系统的一般状态,您可以阅读 Insane Coder 撰写的最优秀的文章,网址为http://insanecoding.blogspot.com/2009/06/state-of-sound-in-linux-不太抱歉.html。
在继续之前,您使用的是哪个 Linux 发行版?
首先,一些定义:
这是最古老的声音驱动架构。它已被贬值,尽管大多数内核保留它,因为非常旧的声卡将具有 OSS 驱动程序。
这是OSS的替代品。它有点新,支持更新的卡。如果您在工作站上本地播放声音,并且没有使用 ESD 或 PulseAudio,那么它可能是通过 ALSA 直接连接到卡的。
这是一种名为esound的软件混音器。ESD 背后的想法是,声音不再直接与硬件相关,而是与网络传输相关,网络传输可能会或可能不会在本地播放。声音被混合然后发送到适当的目的地进行播放,在那里它被“放置”到 OSS 或 ALSA 驱动程序中进行播放。ESD有一些缺点,并且正在慢慢贬值。
这是一个独立的项目,最终将取代 ESD。它为网络声音传输提供单一接口,同时向后兼容 OSS、ALSA 和 ESD。它将声音输入(称为“源”,即麦克风或其他网络流)与输出(称为“接收器”,通常是其他客户端或硬件声卡)分开。Ubuntu 已经开始使用它,虽然它有粗糙的边缘,但每个版本的处理听起来都更好一些,并且该版本(我认为)正在迅速接近其 1.0。
PulseAudio 的主要优势在于,它不仅向后兼容需要 ALSA 或 OSS 的旧软件,而且还提供了保持一致的健全 API,同时为瘦客户端或其他远程会话提供网络传输。有一些已知的缺点,特别是对于需要实时优先级的重负载系统或声音处理。这些问题正在积极解决。
对于配置,如果您运行的是 Red Hat 变体(Red Hat Linux、CentOS、Fedora),您可以使用
sndconfig
命令来设置声音,尽管我认为这种方法有点老套,最终会被替换。您将希望以 root 身份运行此命令,或使用 sudo,因为它将进行系统范围的更改。对于 Ubuntu 安装,声音通常在安装时自动配置。从 8.04 开始,默认声音是通过 PulseAudio 驱动的。
对于 Debian 安装,您需要将适当的人员添加到适当的组中,以便为他们激活声音。没错,使用声音是 Debian 系统上的特权(以防止其他用户在多用户系统上恶作剧)并且您需要成为组的成员(我相信它是“声音”,有一段时间不必这样做了),让声音正常工作。
其他发行版将有单独的声音设置说明。
这本来是对 Avery Payne 的回答的评论,但我在这里显然还是太新了,无法发表评论。
OSS 本身绝对不会被弃用。它关闭源代码一段时间,不再在 Linux 内核中更新,但仍然是许多其他 *nixes 的方式。至于 Linux 支持,它也仍然存在,您只需要自己安装即可。
至于 Linux 上声音系统的一般状态,您可以阅读 Insane Coder 撰写的最优秀的文章,网址为http://insanecoding.blogspot.com/2009/06/state-of-sound-in-linux-不太抱歉.html。