1. 程式人生 > >一種linux聲音解決方案ALSA+pauseaudio

一種linux聲音解決方案ALSA+pauseaudio

ALSA(高階Linux聲音體系)是為音效卡提供驅動的Linux核心元件,以替代原先的OSS(開放聲音系統).這兩個是系統發出聲音最低層的軟體系統,可以視為(或者就是)驅動.

PulseAudioESD是兩個聲音伺服器,簡單說,軟體要發聲就先發訊息給聲音伺服器,然後聲音伺服器經過處理(主要是多條音訊流的混音),然後發給驅動控制聲音裝置發出聲音.

選用pulseaudio+alsa的好處和壞處,好處就是解決混音和音效卡獨佔問題,缺點就是有些軟體(極其個別)還不支援

聲音伺服器並不是必須的,你可以跳過esdpulseaudio直接控制alsaoss,只是沒有了單獨的聲音控制以及混音功能.

有的同學說了,不對啊,我就能混音,其實那是因為alsa自帶了一個很簡單的混音器dmix,這也是混音常常出問題,常常音效卡獨佔的原因.用 pulseaudio 代替 alsa 自帶的 dmix 可以明顯減小 mpd 的 cpu 佔用。

ALSA不同,PulseAudio可以在多個作業系統中執行,包括其他的POSIX平臺和微軟的Windows。也就是說如果你建立一個是用PulseAudio的應用程式而非ALSA,把這個應用移植到另一個平臺會很容易。

Music Player Daemon (MPD)是一個小巧的,功能強大的伺服器端音樂播放器。在其網路協議下,通過新增外掛和音樂庫可以播放大量格式的音樂檔案。除了播放之外,他還能管理播放列表,管理音樂資料庫。由於是後臺程序,所以需要一個單獨的客戶端。