Ubuntu 8.04混音完美解決方法 [更新了](pulseaudio問題)

Totem,mplayer,sopcast,realplayer,bmp
头像
ellon
帖子: 358
注册时间: 2007-11-28 5:39

Ubuntu 8.04混音完美解決方法 [更新了](pulseaudio問題)

#1

帖子 ellon » 2008-07-08 10:24

被Ubuntu 8.04的PulseAudio折磨好久了,終於在今天找到了最簡單,最完美的解決方案。

網上流行的解決方法:
方法1. 把軟件都改用pulseAudio輸出; 不支援PulseAudio的,就在ALSA中模擬一個channel到pulseAudio。(asound的修改)
參考http://ubuntuforums.org/showthread.php?p=4928900

方法2. 移除PulseAudio,轉回ALSA。
例如: sudo apt-get remove gstreamer0.10-pulseaudio

---------------------------------------------------------------------------------
*我的解決辦法*:(又更新了)

既然Ubuntu 8.04嘗試把所有軟件搬到PulseAudio上,那麼就讓已經在成功運行於PulseAudio的繼續基於PulseAudio。只支持ALSA的軟件,繼續使用ALSA。

方法:
a. 關閉Gnome"登入"音樂 (如果你使用步驟c,可以跳過這一步)
gnome-sound-properties
->Sounds->
把Log in音樂改為No sound。

b. 修改/etc/pulse/default.pa
gksu gedit /etc/pulse/default.pa

找到:
#load-module module-alsa-sink ...
改為
load-module module-alsa-sink device=dmix

找到: (解決錄音問題,如skype和audacity)
load-module module-hal-detect
改為:
#load-module module-hal-detect

c. (做了步驟a,就不需要這一步)
找到:
load-module module-suspend-on-idle
改為
#load-module module-suspend-on-idle


這樣,通過使用dmix,PulseAudio就不會霸佔整個audio系統。PulseAudio將成為alsa的其中一個Mix Channel。然後,ALSA和PulseAudio便能很好地共存。以後都不再需要什麼libflashsupport for pulseaudio了。

還有,安裝PulseAudio的控制器,好好享受PulseAudio的優勢吧~
sudo apt-get install padevchooser
上次由 ellon 在 2008-12-29 14:40,总共编辑 14 次。
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

#2

帖子 kofshower » 2008-07-08 12:03

:em08 好啊
几个问题:

修改gedit ~/.pulse/default.pa不行么?
这样的话mplayer老是提示alsa的错误
还有就是,不要重启,log out就好了
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#3

帖子 eexpress » 2008-07-08 12:21

记得有现成的pa下载的
● 鸣学
头像
matri
帖子: 1140
注册时间: 2006-10-27 11:14
来自: 悉尼

#4

帖子 matri » 2008-07-08 12:33

破玩意一个,自从用了这东西,遇到无数莫名其妙问题,还不好查错,折腾半天才反应过来是这东西搞的鬼,卸掉世界立马就清净了。
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

#5

帖子 kofshower » 2008-07-08 12:54

昏,不修改的话反而正常咯。mplayer也没有错误咯
附件
window.png
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
头像
ellon
帖子: 358
注册时间: 2007-11-28 5:39

#6

帖子 ellon » 2008-07-08 14:04

kofshower 写了:昏,不修改的话反而正常咯。mplayer也没有错误咯
我的Mplayer(ALSA), Skype(ALSA), Totem(PulseAudio), Rhythmbox(PulseAudio)都可以通過ALSA dmix正常混音吖!
不知道你是否那裡set錯了?
附件
使用ALSA dmix
使用ALSA dmix
混音示範
混音示範
上次由 ellon 在 2008-07-08 14:45,总共编辑 2 次。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#7

帖子 BigSnake.NET » 2008-07-08 14:13

+ 精
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

#8

帖子 kofshower » 2008-07-08 15:44

ellon 写了:
kofshower 写了:昏,不修改的话反而正常咯。mplayer也没有错误咯
我的Mplayer(ALSA), Skype(ALSA), Totem(PulseAudio), Rhythmbox(PulseAudio)都可以通過ALSA dmix正常混音吖!
不知道你是否那裡set錯了?

喔喔,我的mplayer有问题么?其实也只有这个不行。
我的mplayer的ao中没有pulse这一选项,LZ有么 :em25
LZ用的是smplayer的话,看一看mplayer log中有错误么。我这儿也可以mplayer,一切正常啊。可是老是有错误.日志是这样的:
Debug: [16:19:25] MplayerProcess::parseLine: 'ID_AUDIO_TRACK=0'
Debug: [16:19:25] MplayerProcess::parseLine: '[AO_ALSA] 无法找到控制 'PCM',0。'
Debug: [16:19:25] MplayerProcess::parseLine: '[混音器] 没有硬件混音, 插入音量过滤器。'
Debug: [16:19:25] MplayerProcess::parseLine: '[AO_ALSA] 无法找到控制 'PCM',0。'
Debug: [16:19:25] MplayerProcess::parseLine: '[AO_ALSA] 无法找到控制 'PCM',0。'
Debug: [16:19:25] MplayerProcess::parseLine: '[AO_ALSA] 无法找到控制 'PCM',0。
我是按照官方的howto做的,因为如果加dmix的话,我这儿pulse服务起不来,所以我加的是load-module module-alsa-sink device=equalized
附件
window.png
上次由 kofshower 在 2008-07-08 16:21,总共编辑 1 次。
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
头像
ellon
帖子: 358
注册时间: 2007-11-28 5:39

#9

帖子 ellon » 2008-07-08 16:17

kofshower 写了: 喔喔,我的mplayer有问题么?其实也只有这个不行。
我的mplayer的ao中没有pulse这一选项,LZ有么 :em25
LZ用的是smplayer的话,看一看mplayer log中有错误么。我这儿也可以mplayer,一切正常啊。可是老是有错误日志
你的Mplayer是從Medibuntu源安裝的嗎?Medibuntu已經提供很好的Mplayer和Win32 Code。
這是我的Mplayer:(支持pulseaudio的)
附件
mplayer2.jpg
mplayer1.jpg
上次由 ellon 在 2008-07-08 16:25,总共编辑 1 次。
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

#10

帖子 kofshower » 2008-07-08 16:24

ellon 写了:
kofshower 写了: 喔喔,我的mplayer有问题么?其实也只有这个不行。
我的mplayer的ao中没有pulse这一选项,LZ有么 :em25
LZ用的是smplayer的话,看一看mplayer log中有错误么。我这儿也可以mplayer,一切正常啊。可是老是有错误日志
你的Mplayer是從Medibuntu源安裝的嗎?
這是我的Mplayer:

自己编译的。噢,我知道原因了。我check out mplayer( svn )的时候系统没有pulse的库,而这个东西的在configure的时候是autodetect的,所以没有编译进去。
此外按楼主所说加入dmix的话,pulse服务为什么起不起来,倒是load-module module-alsa-sink device=equalized是可以的。
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
头像
ellon
帖子: 358
注册时间: 2007-11-28 5:39

#11

帖子 ellon » 2008-07-08 16:38

kofshower 写了: 此外按楼主所说加入dmix的话,pulse服务为什么起不起来,倒是load-module module-alsa-sink device=equalized是可以的。
我也不知道你那裡為何不能用dmix起PulseAudio。我用的dmix就很好。而且有了dmix,mplayer就根本不需要pulse module,用回ALSA就okay了。
或者
killall pulseaudio之後,
pulseaudio -v 會告訴你為什麼
头像
kofshower
帖子: 1343
注册时间: 2007-03-13 11:23
联系:

#12

帖子 kofshower » 2008-07-08 16:58

ellon 写了:
kofshower 写了: 此外按楼主所说加入dmix的话,pulse服务为什么起不起来,倒是load-module module-alsa-sink device=equalized是可以的。
我也不知道你那裡為何不能用dmix起PulseAudio。我用的dmix就很好。而且有了dmix,mplayer就根本不需要pulse module,用回ALSA就okay了。
或者
killall pulseaudio之後,
pulseaudio -v 會告訴你為什麼
重编译了mplayer,搞定一半了。果然是编译时候没有意识到pulse库的作用。多谢LZ了。其实我不明白为什么用pulse。我更看好portableaudio
附件
window.png
上次由 kofshower 在 2008-07-08 17:05,总共编辑 1 次。
"We are all in the mud, but some of us are looking at the stars." (Oscar Wilde)
We are not born for ourselves.
人生天地间,并非为自己
Homepage:http://sites.google.com/site/polarisnotme/
头像
PL7s
帖子: 377
注册时间: 2007-03-15 23:44

#13

帖子 PL7s » 2008-07-08 17:00

总让我想起eclipse的一个插件。
赞一下。
For the love of PL7s
图片
图片
头像
ellon
帖子: 358
注册时间: 2007-11-28 5:39

#14

帖子 ellon » 2008-07-09 2:02

有更新了修改方法,應該兼容性更好

找到:
#load-module module-alsa-sink ...
改為
load-module module-alsa-sink device=dmix

找到: (之前我沒有留意到的主要問題)
load-module module-suspend-on-idle
改為
#load-module module-suspend-on-idle
(重新logout再login)
头像
chunchengch
帖子: 181
注册时间: 2007-07-02 0:03

#15

帖子 chunchengch » 2008-07-09 15:52

ellon 写了:...
找到:
#load-module module-alsa-sink ...
改為
load-module module-alsa-sink device=dmix

找到: (之前我沒有留意到的主要問題)
load-module module-suspend-on-idle
改為
#load-module module-suspend-on-idle
(重新logout再login)

sudo gedit /etc/rc.local
在exit 0前,插入一句: pulseaudio &
(重新開機)
我的情形是同時改了/etc/rc.local 後反而沒聲音,只改 /etc/pulse/default.pa 就沒問題了,謝謝!
回复