2014-02-21 151 views
0

我正在使用QNX中微子RTOS,我是QNX的新手。我已经在两个线程之间设置了一些IPC消息的第一个项目。QNX麦克风采样和扬声器播放

我想要做的是有一个线程麦克风“驱动程序”,从麦克风和卖场样品输入/将其作为PCM数据包到另一个线程起着出来说话的。

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

回答

1

是的,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系统包括一个名为“波”用于播放.wav文件和“waverec”实用(命令)从麦克风录制音频并将其保存到.wav文件。

您可以使用“利用波浪”和“使用waverec”用于获取有关支持的命令行选项的信息的命令。

文档包括波的完整源和waverec实用程序:

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

waverec.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库进行链接。 一个最小的命令行示例(测试)来构建wave.c为armlev7和x86:

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

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

欢迎您在这里发布与样品的工作,而你的任何问题。

+0

非常感谢特立独行(对于最近的回复感到抱歉,我不在W/E)。我刚刚获得这些文件,并将开始与他们一起玩。我开始认为我需要音频DDK,但当我在星期五完成时,我一直在努力安装(这是一些java问题)......这看起来更简单,我希望:),我可能会提供你的报价也发布问题! –

+0

“Maverick,我有QNX 6.4.0(致力于升级到6.5.0 SP1),所以我找到了该版本的waverec.c文件,我将它制作成了一个QNX c项目,但它不能生成。所有的asoundlib.h函数都失败了,头文件在那里,但是在阅读了一些文档之后,看起来实际的库可能不会随QNX一起发布(有些LGPL问题)。看看如何解决这个...任何想法 –

+0

音频功能在libasound定义,因此,你需要对链接;?我更新了命令行的例子后做 至于音频DDK,您需要如果你想开发一个音频驱动程序。音频驱动程序通常是BSP的一部分,您不必担心这一点。 – maverick

相关问题