0

我已经使用 ALSA(snd_pcm_open、snd_pcm_readi 等)编写了一个应用程序。该应用程序在我的机器上本地运行完美。但是,当我 SSH 到另一台机器并通过 SSH 连接运行它时,对 snd_pcm_open 的所有调用都会失败,并显示“设备不存在”或类似消息。远程机器和我的本地机器一样有声卡。

这里可能是什么问题?

谢谢!

编辑:如果我使用远程计算机上的控制台运行应用程序(走到计算机,登录,运行应用程序),应用程序运行良好。

4

4 回答 4

2

问题可能出在/dev/snd/*访问权限上。确保用户在音频组中。就我而言,我必须这样做adduser $USER audio,断开连接然后重新连接。

于 2012-05-15T16:08:40.653 回答
1

只是为了检查一下:远程机器上的声卡驱动程序是否加载并正常工作?检查/proc/asound/cards并查看该卡是否已列出。

于 2012-02-08T09:27:54.000 回答
1

只是为了确认......您已经在远程机器上安装了应用程序,并且远程机器还有其他工作方式等?必须设置远程机器,这样如果您要从控制台登录并运行应用程序,它就可以工作

如果是这种情况,请检查您的环境变量,因为有时它们可​​能会略有不同。

于 2012-02-08T09:36:24.690 回答
0

找到了原因。事实证明/dev/audio,用户拥有的所有设备/dev/snd/都在远程计算机上登录,并且其他人无法读取/写入。对于我申请的测试chmod 777 /dev/audio /dev/snd/*,它开始工作。

任何人都知道如何对远程计算机的音频设备应用更慷慨的权限(重启后会持续)?

于 2012-02-08T16:00:17.480 回答