gpt4 book ai didi

c++ - QNX 麦克风采样和扬声器回放

转载 作者:行者123 更新时间:2023-11-28 07:04:46 29 4
gpt4 key购买 nike

我正在使用 QNX neutrino 实时操作系统,我是 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”和“use waverec”命令获取有关支持的命令行选项的信息。

文档包括 wave 和 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 库才能构建示例。为 armlev7 和 x86 构建 wave.c 的最小命令行示例(已测试):

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

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

欢迎您在这里发布您在使用示例时可能遇到的任何问题。

关于c++ - QNX 麦克风采样和扬声器回放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21930317/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com