Linux下Alsa编程 snd_pcm_open函数返回-111,说是 connect refused,这是为什么啊

Linux下Alsa编程 snd_pcm_open函数返回-111,说是 connect refused,这是为什么啊,第1张

提示连接被拒绝,

1,首先需要确认你的声卡驱动是否正常,

2,确认函数参数是否正确

3,确认构建配置树是否配置成功

由于提主提供的资料有限,没法提供更多建议!

linux中5.1声道实现方法

看到百度上搜不到,所以发一下

在命令行运行 alsamixer

把channel项改为6ch,(按向上箭头)

esc退出

此时既已设置为5.1声道

运行一个5.1声道的游戏,例如war thunder,运行时选择5.1声道,即可听见效果

5.1声道电影

首先保证片源是5.1声道,然后用smplayer播放,

音频,声道,选择5.1环绕声,此时就可以听到后置音箱出声了,然而这不是真正的5.1声道,后置的声音与前置相同。

要想真正听到5.1声道,还需要做一下硬件改动(这也是windows下播放5.1声道电影的要求)

首先需要数字输出,同轴或光纤皆可,连接到音箱的数字接口(要求音箱支持数字解码),如果音箱不支持,需要购买单独的解码器,连载电脑同轴和音箱5.1输入之间,然后点击声音设置(系统的)输出选中数字输出。

再用smplayer播放,

音频,声道,选择5.1环绕声,此时就是真正的5.1环绕了

可惜的是,上面这两种模式互不兼容,也就是说,玩游戏5.1声道请用第一种方式,用第二种只能双声道,看电影5.1声道只能用第二种,用第一种是假的5.1声道。

这种局限在windows中也存在,不是linux的弊端

我自己弄了个切换器,可以切换两种接线,最好是买带数字解码的5.1音箱,这样就可以同时接线了

你的图片看不清楚,ALSA是声卡驱动,一般要以下这四个包:

alsa-driver-XXX.tar.bz2

alsaconf-XXX.tar.gz

alsa-lib-XXX.tar.bz2

alsa-utils-XXX.tar.bz2

说一下一般步骤吧,先把alsa-driver-XXX.tar.bz2 拷贝到/temp下,看了一下,你的系统有图形界面,直接解压,产生alsa-driver-XXX文件夹,进入该文件夹,里面有个叫 INSTALL 的文件,安装步骤和注意事项都在里面。

执行:

# ./configure

# make install

# ./snddevices

同样,把alsaconf-XXX.tar.gz 拷到/temp下,解压

进入文件夹,执行:

#./alsaconf

这个主要是用来配置的,你可以选择你的声卡类型,等等...

选好声卡后,一直选OK就好了,基本上到这儿,已经装好了。重启就OK了。

如果还有问题,那么你要安装alsa-lib和alsa-utils,安装方法和alsa-driver一样,注意要先安装alsa-lib,再安装alsa-utils。将文件拷到/tmp目录,解压缩,然后运行命令make和make install

现在在Windows上,不好 *** 作。你可以到网上找个教程,一步一步往下搞就OK了。Linux上的安装都是大同小异的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7321493.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存