c++ - NAS (with qt/linux)- 无法建立简单的音频服务器连接测试

标签 c++ linux qt audio nas

我设置了以下测试代码,试图播放一个简单的 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。

http://doc.qt.io/archives/qt-4.8/qtmultimedia-module.html

关于c++ - NAS (with qt/linux)- 无法建立简单的音频服务器连接测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48106384/

相关文章:

c++ - Eclipse C++ 和 Boost BGL 的问题

c++ - 了解模板偏特化

linux - 在 linux 终端中使用 awk 命令忽略重复?

linux - rsync 在启动时不工作?

QT Flowlayout - 多行标签问题

qt - 单击并按住标题移动对话框

c++ - C++0x 中模板别名的灵活性

c++将格式化的dword保存到str变量

mysql - 分配给 crontab 时 Linux 备份 MySQL 失败

qt - 如何将 QSlider 连接到 QDoubleSpinBox