我正在使用QNX中微子RTOS,我是QNX的新手。我已经设置了我的第一个项目,在两个线程之间有一些IPC消息
我想要做的是将一个线程作为麦克风“驱动程序”,从麦克风采样输入并将其作为PCM数据包存储/发送到另一个从扬声器播放的线程。
那么,有没有音频支持库?,实现录音麦克风输入和扬声器输出的最佳方法是什么?
答案 0 :(得分: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系统包括一个名为“wave”的实用程序(命令),用于播放.wav文件和“waverec”,用于录制麦克风的音频并将其保存为.wav文件。
您可以使用“use wave”和“use waverec”命令获取有关支持的命令行选项的信息。
该文档包含wave和waverec实用程序的完整源代码:
从音频录制和播放开始的推荐方法是首先让系统附带的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构建的,则需要在适当的设置中添加库。
如果您在处理样品时遇到任何问题,欢迎您在此处发布。