QNX麦克风采样和扬声器播放



我正在使用QNX中微子RTOS,我是QNX的新手。我已经用两个线程之间的一些IPC消息设置了我的第一个项目。

我想做的是让一个线程作为麦克风"驱动程序",对麦克风的输入进行采样,并将其作为PCM数据包存储/发送到另一个线程,该线程从扬声器中播放。

那么,有音频支持库吗?,实现录音麦克风输入和扬声器输出的最佳方式是什么?

是的,QNX附带了一个音频库。

音频库从以下位置开始记录(6.5 SP1版本):http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fabout.html&cp=13_1

您的qnx系统包括一个名为"wave"的实用程序(命令),用于播放.wav文件,以及"waverec",用于从麦克风录制音频并将其保存到.wav文件。

您可以使用"use wave"one_answers"use waverec"命令来获取有关支持的命令行选项的信息。

文件包括波浪和波浪公用设施的完整来源:

wave.c:http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fwavec.html

动摇c:http://www.qnx.com/developers/docs/6.5.0_sp1/index.jsp?topic=%2Fcom.qnx.doc.neutrino_audio%2Fwaverec.html

建议从音频录制和播放开始的方法是首先让系统附带的wave和waverec二进制文件正常工作。构建完所提供的源代码后,让它重新工作,然后理解它并嵌入到您的应用程序中,可能是在剥离它之后。(因为示例是通用的,并且您可能希望对示例中动态配置的某些功能进行硬编码)。

为了构建示例,您需要链接到libasound.so库。为armlev7和x86:构建wave.c的最小命令行示例(已测试)

ntoarmv7-gcc wave.c -o wave -l asound
ntox86-gcc wave.c -o wave -l asound

如果您是通过IDE构建的,那么您需要在适当的设置中添加库。

欢迎您在处理样品时提出任何问题。

最新更新