我设置了以下测试代码,试图播放一个简单的 wav,但出现“无法连接到音频服务器”的错误。
static AuServer *server = 0;
server = AuOpenServer("", 0, NULL, 0, NULL, NULL);
if (!server)
{
fprintf(stderr, "Can't connect to audio server\n");
exit(-1);
}
AuSoundPlayFromFile(server, "/public/sounds/test-tone.wav",
AuNone,100, NULL, NULL, NULL, NULL, NULL, NULL);
系统规范: -linux -VB 上的 redhat 7.2 -QT 4.8.5 使用 C++
此问题可能是由于 NAS 设置不当造成的。我必须在我的编译器和 VB 中安装以下 rpm:
nas-libs-1.9.3-3.fc18.i686
nas-devel-1.9.3-3.fc18.i686
nas-debuginfo-1.9.3-3.fc18.i686
我还需要做什么吗? linux 不识别命令“nasd”。我错过了什么?
我想了解为什么上面的代码不起作用,关于 NAS 如何工作的背景信息和音频服务器的用途,以及任何其他的想法,以便找到我可以访问的库可以播放wav。此外,我只看到 MAN 页面作为 NAS 的文档,任何其他相关文档链接将不胜感激。
以下是关于我必须继续进行的所有文档: https://linux.die.net/man/3/ausoundplayfromfile
https://linux.die.net/man/3/auopenserver
背景信息
探索其他选项 我已经涉足 QSound、Phonon 和现在的 NAS(网络音频系统),并且遇到了不同的障碍。我的项目无法轻松使用尚未安装或未包含在 QT4 核心中的库。
QSound:我一直无法播放我的任何测试波形。根据我的研究,QSound 以某种方式使用 NAS,因此不正确的 NAS 设置也可能导致 Qsound 失败?很难说 Qsound 选项太少了,因为我听说它有很多问题。
Phonon: .pro 发现 -lphonon 存在编译问题。可能是由于安装了错误的位声子 RPMS。安装了 64 位,但无法安装 32 位,因为我的联盟中存在大量依赖性问题。虽然其他开发人员说要使用 32 位,但系统声称使用“arch”命令是 64 位,所以至少可以说我很困惑。
最佳答案
我发现 QTMultiMedia 实际上在 qt4.8 中可用并且它对我有用!它的级别较低并且由于声子仍然可用而在 4.8 中似乎不常见。仍然不确定 NAS 的问题是什么,但如果有人发现自己遇到类似情况,我建议查看 QTMultiMedia。
关于c++ - NAS (with qt/linux)- 无法建立简单的音频服务器连接测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48106384/