Roamvalley 发表于 2009-1-10 20:42

倒霉的一天

首先是网络问题。
接着又是声卡功能坏了。
查了半天,以为是gstream或者pulseaudio出了问题,死活没搞明白怎么回事。
后来想起昨天更新了 consolekit,根本没想到这个东西和声音有什么关系。
查到最后的结果就是我更新了一个试验版本的consolekit,只好回到fedora站点下载了老版本的consolekit强制安装后再重启,才解决了问题。

这一番折腾我把linux下的声音驱动总算理了一遍,可以说,这方面是一片混乱,linux下最大的败笔。
图形方面至少还有OpenGL这样一个统一标准,而声音有多种驱动模式和接口,各自为政。列一下相关的程序:
ALSA, SDL, OSS, ESD, aRts, JACK, GStreamer, PulseAudio, Xine, Mplayer
这些玩意不仅功能上互相重复,而且定位混乱。

ALSA是:声卡驱动 + 开发接口
aRts是KDE下的 : 声音服务 + 各种格式的音频数据的解码和编码接口
ESD是Gnome下的: 声音服务
GStream是Gnome下的:各种格式的音频数据的解码和编码接口
SDL:本来被设计成用于Linux下开发游戏时可用的统一声音接口
OSS:类似ALSA
PulseAudio:取代ESD,PulseAudio可以让多个程序的声音被统一混音后发送给声卡,以前我们打开一个放电影的程序后就不能开其它播放mp3或者类似skype这样的程序了。
Xine和Mplayer这两玩意是应用层的,能解码各种视频,可它们还把混音的工作也给揽过去了

看看上面说的,如果谁想在linux下写个用到声音的程序,头都会大的。我们这些最终用户一旦出了声音上的问题,基本上都是丈二和尚摸不着头脑。根本不知道问题出在哪个程序的哪个阶段。
真TMD的混乱!浪费我不少时间。

Roamvalley 发表于 2009-1-10 20:54

大部分主流的应用程序都在使用ALSA或者是OSS,ALSA比OSS的音质要好些。
新的PulseAudio将会成为主流,而且原来那些使用了ALSA开发的程序不用做什么修改就可以使用新的PulseAudio。
希望以后都统一使用PulseAudio,否则linux迟早要被这群人给搞废了。

大家在听mp3时最好把声音控制器中的波形输出(WaveOutput)降低些,把程序自身的音量调节或者喇叭放大点,否则会有爆音或者噪音。

今天重装consolekit也是麻烦,要下载老版本的rpm后强制安装:

rpm -i --force 要装的rpm文件名

然后再用

rpm -e 有问题的consolekit版本

否则直接装是装不上的,因为已经安装了更高的版本后,老版本是被禁止安装的。

wm5wolf 发表于 2009-1-11 15:50

:) 解决了就好。

Linux最大个问题就是软件版本太多,又没个统一的标准,API变化特别大。不像windows,很多接口从win95以来都没变化过,特稳定。

440440 发表于 2009-1-11 16:47

这么多 看都看晕了 linux加油:-|
页: [1]
查看完整版本: 倒霉的一天