linux正在等待声音系统响应,linux声音系统较好的解决方案alsa+esd

基本思路:alsa是主流且能兼容oss,故用alsa驱动统一低层。esound是gnome默认的声音服务,很多程序都基于它,故用esd统一高层。能够方便的实现混音,就是多个音频播放能够协调工作;他的反面就是,每次只有一个音频播放能正常工作。

1)alsa声音驱动的编译和配置

用modconf和module-assistant加/卸载启动模块是最方便的方法。

sudo m-a        //使用module-assistant加载alsa,按照提示来吧。

sudo apt-get install alsa-base

sudo dpkg-reconfigure alsa-base    //推荐always autosave

sudo apt-get install alsa-oss    //混音必须:-)

sudo apt-get install libesd-alsa0    //alsa可用的esound共享库,替代原来的libesd0

sudo alsaconf     //自动查找及配置声卡

sudo alsamixer //调整声音

看到配置界面了吧:-) M键是静音开关, ESC退出, “上下”是音量, “左右”是项目.

一般的Headphone Jack Sense 和 Line Jack Sense设为静音。

2) esound声音服务的安装和配置

sudo apt-get install esound

这里,重点就是esound的配置

cd /etc/esound/esd.conf    //具体man esd.conf

修改后内容如下:

[esd]

auto_spawn=1        //使用混音,推荐1;如果要用gnome音效,推荐0(参见man esd.conf)

spawn_options=-terminate -nobeeps -as 5 -d default        //经过前面的过程,default指的就是alsa

spawn_wait_ms=100        // 默认100。如果不实用alsa混音,这个一定要大点儿,不然esound会认为自己出错,影响整个X。当时,小孙就简单的加个0

# default options are used in spawned and non-spawned mode

default_options=

3) gnome音效

虽说不是必要的,不过有点声音很有活力不是吗:-)

菜单application->desktop performance->sound,勾上general里的两个选框, 开启音效服务和事件音效

sudo apt-get install  gnome-audio        //安装Gnome音效文件

很简单是不是?

2007,12,08 附加:

4)dmix混音。dmix是Alsa自带的混音插件

建立~/.asoundrc,小孙的功放是普通的双声道立体音响/耳机,内容如下:

pcm.ossmix {

type dmix

ipc_key 1024

slave {

pcm "hw:0,0"

period_time 0

period_size 1024

buffer_size 4096

rate 44100

format S32_LE

}

bindings {

0 0

1 1

}

}

pcm.!default {

type plug

slave.pcm "ossmix"

}

pcm.dsp0 {

type plug

slave.pcm "ossmix"

}

ctl.mixer0 {

type hw

card 0

}

具体含义,请参考

5)以上配置方案,经过了小孙两年时间的Debian系统下的使用验证,请放心

阅读(1051) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值