codecamp

Ubuntu如何混音

  • 为什么我在同时打开两个应用程序时不能听到声音呢? 大多数Linux初学者都遇到这样一个问题:“为什么我在同时打开两个应用程序时不能听到声音呢?”这是因为你的声卡需要“软混音”。值得庆幸的是,ALSA提供了这项功能,这使得解决这个问题并不是很难。 首先需要安装libesd-alsa0,它就在Ubuntu官方软件库中。sudo apt-get install libesd-alsa0

然后,用sudo gedit或您喜欢的文本编辑器创建文件/etc/asound.conf(请确定您使用了sudo,因为您需要root权限):

sudo gedit /etc/asound.conf
   输入以下内容并保存关闭。


pcm.card0 {
   type hw
   card 0
 }
 pcm.!default {
   type plug
   slave.pcm "dmixer"
 }
 pcm.dmixer {
   type dmix
   ipc_key 1025
   slave {
     pcm "hw:0,0"
     period_time 0
     period_size 1024
     buffer_size 4096
     periods 128
     rate 44100
  }
   bindings {
     0 0
    1 1
  }
 }

(上面的文件可以在大多数声卡上正常运行…尽管我成功地测试了三个不同的声卡,但我还是不能确保它可以使所有声卡都能正常运行)

  • 接下来,运行sudo gedit /etc/esound/esd.conf
将文件改成下面的内容:


[esd]
 auto_spawn=1
 spawn_options=-terminate -nobeeps -as 2 -d default
 spawn_wait_ms=100
 # default options are used in spawned and non-spawned mode
 default_options=
   然后打开您的Gnome声音控制面板并启用声音服务器,接着到多媒体系统选择控制面板,将其设成ALSA或ESD,并重启计算机。 接下来

您就可以将应用程序设成使用ALSA或ESD,这样您就可以一次听到多个声音了。就算是玩着用ALSA发音的游戏并听到使用ESD的GNOME应

用发出的声音也没有任何问题! 有些朋友在hoary上按照上述的方法设置却遇到了问题,他们不能在mozilla/firefox/epiphany程序中听到声音,结果我发现在启动 firefox时,程序查找libesd.so.1而系统却只有libesd.so.0,所以只要运行命令


sudo ln -s /usr/lib/libesd.so.0 /usr/lib/libesd.so.1

后就可以解决这个问题了


Ubuntu如何安装上kde?
Ubuntu 截图时怎么截到mplayer、totem视频?
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Ubuntu

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }