Ubuntu下应用程序独占音频声道的问题解决


方法一】(针对无声或音频独占)
干掉Pulseaudio,只使用Alsa

执行以下命令:
sudo apt-get install alsa-oss libasound2 libasound2-plugins
sudo mv /etc/X11/Xsession.d/70pulseaudio ~/
gconftool-2 -s -t bool /apps/gnome_settings_daemon/plugins/sound/active false

#注意:gconftool-2 … false 整个是一条命令,请输入在同一行。

asoundconf unset-pulseaudio
sudo update-rc.d -f pulseaudio remove

然后执行
asoundconf list
输出应该是类似这样的情形:
Names of available sound cards:
Intel
(记下你的声卡名,比如这里的Intel)
然后执行:
asoundconf set-default-card Intel
(Intel请替换为你的声卡名)

(补充:个别用户会出现真正的声卡名和HDMI两个选项,请注意不要选HDMI(除非你输出到液晶电视))

如果想保留登入时的系统提示音,请编辑~/.bashrc文件:
gedit ~/.bashrc
在文件末尾加上:
export SDL_audiodriver=alsa

最后,打开系统->首选项->音效,将从上往下数前四个选项都选成 ALSA - Advanced …
Felix注:经测试,不这么做好像也没问题。

至此,屏蔽pulseaudio并设置alsa已经完全解决。

【方法二】(针对音频独占)
我们让已经在成功运行于PulseAudio的继续使用PulseAudio。只支持ALSA的软件,继续使用ALSA。

解决方法:
gksu gedit /etc/pulse/default.pa
找到:
#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)

另外:
找到: (解决录音问题,如skype和audacity)
load-module module-hal-detect
改为:
#load-module module-hal-detect
这样,通过使用dmix,PulseAudio就不会霸占整个audio系统。PulseAudio将成为alsa的其中一个Mix Channel。然后,ALSA和PulseAudio便能很好地共存。以后都不再需要什么libflashsupport for pulseaudio了。

还有,安装PulseAudio的控制器,好好享受PulseAudio的优势吧。
sudo apt-get install padevchooser

【方法三】(针对无声)
(注:如果点击屏幕右上的小喇叭图标,出现一个错误提示,则可以直接采用此方法)
如果以上设置仍然无效,可以尝试下载编译安装新版的alsa
(注:安装之前,请确认自己的内核为源里的最新版)
首先到http://www.alsa-project.org/下载最新的alsa-driver,alsa-lib和alsa-utils。
假设下载的文件放在~/alsa (/home/用户名/alsa)。
首先进行解压:
tar jxvf alsa-driver-xxx.tar.bz2
tar jxvf alsa-lib-xxx.tar.bz2
tar jxvf alsa-utils-xxx.tar.bz2

然后分别编译安装
cd ./alsa-driver-xxx
./configure && make
sudo make install
cd ../alsa-lib-xxx
./configure && make
sudo make install
cd ../alsa-utils-xxx
./configure && make
sudo make install

重启计算机(注意不是重启X),然后试试有没有声音?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值