Linux 在RHEL 6 x64中配置网络音频系统[NAS]时出错

Linux 在RHEL 6 x64中配置网络音频系统[NAS]时出错,linux,qt,audio,redhat,Linux,Qt,Audio,Redhat,我尝试通过两种方法在RHEL 6中设置NAS(网络音频系统): 首先,通过RPM安装 [root@localhost ~]# rpm -Uvh nas-1.9.2-1.el6.x86_64.rpm nas-libs-1.9.2-1.el6.x86_64.rpm 它已安装,但在/etc/init.d/目录中找不到该服务。 仅创建/etc/nas/nasd.conf文件。如果我运行命令 [root@localhost ~]# nasd Network Audio System Release 1.

我尝试通过两种方法在RHEL 6中设置NAS(网络音频系统):

首先,通过RPM安装

[root@localhost ~]# rpm -Uvh nas-1.9.2-1.el6.x86_64.rpm nas-libs-1.9.2-1.el6.x86_64.rpm
它已安装,但在/etc/init.d/目录中找不到该服务。 仅创建/etc/nas/nasd.conf文件。如果我运行命令

[root@localhost ~]# nasd
Network Audio System Release 1.9.2
Network Audio System Release 1.9.2
Init: Output open(/dev/dsp) failed: No such file or directory

Fatal server error:
could not create audio connection block info
其次,通过配置nas站点提供的最新tar ballnas-1.9.3.src.tar.gz。 但问题是一样的


请帮助我正确安装,因为我想为基于qt的应用程序启用音频,并且qt使用NAS实现其音频功能

NAS非常努力,但未能成功解决我的问题

然后我用声子库来解决声音问题


谢谢你帮了我!:)

好的。好吧,已经有一段时间了,但是

您没有足够的烫发来打开底层套接字

me@dev$strace-o./nasd.txt nasd-aa-config./nasd.conf

Network Audio System Release 1.9.3
Network Audio System Release 1.9.3
Error binding unix socket: /var/run/nasd/audio0
: Address already in use

Fatal server error:
Cannot establish unix listening socket
合适的位子在这里

ioctl(0, SIOCGIFCONF, {96, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"wlan0", {AF_INET, inet_addr("192.168.1.69")}}, {"usb0", {AF_INET, inet_addr("192.168.15.100")}}}}) = 0
umask(0)                                = 022
mkdir("/var/run/nasd", 0777)            = -1 EEXIST (File exists)
unlink("/var/run/nasd/audio0")          = -1 EPERM (Operation not permitted)
socket(PF_FILE, SOCK_STREAM, 0)         = 1
bind(1, {sa_family=AF_FILE, path="/var/run/nasd/audio0"}, 22) = -1 EADDRINUSE (Address already in use)
取消链接(“/var/run/nasd/audio0”)=-1eperm(不允许操作)就是线索

如果我们在本地复制nasd.conf并将debug值调整为1,然后以root用户身份运行它

me@dev$sudo nasd-aa-config./nasd.conf

config: Maxfrags set to 3
config: Minfrags set to 2
config: Fragsize set to 256
config: Maxfrags set to 3
config: Minfrags set to 2
config: Fragsize set to 256
Network Audio System Release 1.9.3
Network Audio System Release 1.9.3
AuInitPhysicalDevices();
Init: will close device when finished with stream.
Init: will keep mixer device open.
Init: Leaving the mixer device options alone at startup.
Init: openDevice OUT /dev/snd/pcmC1D0p mode 1
Init: openDevice(1) IN /dev/snd/pcmC1D0c mode 0
setupSoundcard(...);
++ Setting up Output device (/dev/snd/pcmC1D0p)
+++ requesting wordsize of 16, got 8
+++ requesting 2 channel(s), got 1 channel(s)
+++ Requesting minimum sample rate of 5000, got 5000
+++ Requesting maximum sample rate of 44100, got 44100
setupSoundcard(...);
++ Setting up Input device (/dev/snd/pcmC1D0c)
+++ requesting wordsize of 8, got 8
+++ requesting 2 channel(s), got 1 channel(s)
+++ Requesting minimum sample rate of 4000, got 4000
+++ Requesting maximum sample rate of 44100, got 44100
initMixer: could not open output mixer device /dev/mixer: No such file or directory
Init: initMixer failed
createServerComponents(...);
closeDevice: out
closeDevice OUT /dev/snd/pcmC1D0p mode 1
closeDevice: in
closeDevice IN /dev/snd/pcmC1D0c mode 0
closeDevice: mixer
closeDevice: leaving mixer device(s) open
在我的情况下,看起来我需要设置混音器部分,但这会削弱你的错误

编辑:
initMixer:无法打开输出混音器设备/dev/mixer:没有这样的文件或目录
这可以通过在nasd.conf中放置
mixer=“
”来解决(即使文档声明它不会被接受,但它是)

另外:请记住设置AUDIOSERVER环境变量

export AUDIOSERVER=tcp/localhost:8000 
是默认的,但肯定不会有伤害

最后的想法:

默认情况下,许多XServer现在<代码> -NoListEN TCP < /Cord>,这可能是实现中要考虑的问题。

nmap是你的朋友

而且,作为记录,我还没有一个真正的端到端系统工作。。。 希望其他善良的灵魂会跳进来,指出我错过的任何东西

希望能有帮助

我没有rhel盒子。。。但这可能和烫发的问题是一样的。
这些文档充其量是“薄的”

Afaik Redhat现在使用systemd(因为没有SysV,因此没有
/etc/init.d
)。第二,
/dev/dsp
OSS
使用,现在几乎没有任何地区使用。尝试安装
OSS
,该部分至少可以解决
/dev/dsp
问题。很遗憾,我无法在这方面为您提供更多帮助。请问您为什么要安装NAS?作为一个项目,它并不完全是死的,但它确实似乎处于某种休眠状态,每隔几年左右才会出现一次……我正在为我的qt应用程序使用QSound类。它需要linux环境中的Nas支持才能播放.wav文件。