在 Windows 上使用 C 将数据流式传输到声卡 [关闭]

2023-12-21

作为大学项目的一部分,我必须进行一些信号处理,并希望使用 PC 声卡输出结果。该软件必须用 C 语言编写,并且需要与 Windows(最好是 7 和 XP)配合使用。

我找到了输出 .wav 和类似文件的代码示例,但我对连续输出数据而不是从文件输出感兴趣。尽管一些声音 API 似乎有自己的处理缓冲区的方法,但输出数据很可能会以数组的形式呈现。

任何建议都很棒,代码示例甚至最好的 API 也是如此。我已经研究过 DirectSound 和 OpenAL,但仍然不确定如何开始。


音频端口 http://www.portaudio.com/是一个可以满足您需求的 C 库。有一个tutorial http://portaudio.com/docs/v19-doxydocs/tutorial_start.html让您开始。

PortAudio 是一个免费的、跨平台的、 开源音频 I/O 库。它 让您编写简单的音频程序 在'C'或C++中,将编译并 在许多平台上运行,包括 Windows、Macintosh OS X 和 Unix (OSS/ALSA)。其目的是为了促进 之间的音频软件交换 不同平台的开发者。 许多应用程序使用 PortAudio 音频输入/输出。

PortAudio提供了一个非常简单的API 用于录制和/或播放声音 使用简单的回调函数或 阻塞读/写接口。例子 包括播放正弦的程序 波,处理音频输入(吉他 Fuzz),录制和播放音频,列表 可用的音频设备等

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上使用 C 将数据流式传输到声卡 [关闭] 的相关文章

  • 如何用另一个静态变量初始化一个静态变量?

    静态1 hpp include
  • 等待运算符错误

    我的代码有问题 我怎么解决这个问题 这个问题出现在await操作符中 public MyModel HttpClient client new HttpClient HttpResponseMessage response await cl
  • C 中的 '\0' 和 printf()

    在 C 入门课程中 我了解到在存储字符串时存储空字符 0在它的最后 但是如果我想打印一个字符串怎么办 printf hello 虽然我发现它并没有结束 0通过以下声明 printf d printf hello Output 5 但这似乎不
  • 带有嵌入 Flash 视频的 PDF 示例?

    有谁知道我在哪里可以查看嵌入 Flash 视频的 PDF 示例 我知道问这个问题很愚蠢 因为你会认为任何面向技术的用户都应该能够使用谷歌找到一个 但我真的找不到 我的另一个问题是 使用 C 中的 API 将 Flash 视频嵌入 PDF 文
  • UI 线程正在阻塞调用 COM 对象的后台线程

    我正在开发一个通过第三方 COM 库与外部设备通信的应用程序 我试图让与设备的所有通信都通过后台线程 以防止通信问题搞砸我的应用程序 并消除在 UI 线程中进行通信所引入的一些其他复杂性 问题是 每当发生导致主 UI 线程阻塞的情况 即调用
  • 有没有办法找到dll公开的所有函数

    我一直在寻找一种方法来获取映射到 dll 中函数名称的所有字符串 我的意思是您可以调用 GetProcAddress 的所有字符串 如果你对 dll 进行十六进制转储 符号 字符串 就在那里 但我认为必须有一个系统调用来获取这些名称 如果您
  • 为什么我收到编译错误“使用已删除的函数 'std::unique_ptr ...”

    我收到一条巨大的编译错误消息 c mingw include c 6 1 0 bits predefined ops h 123 18 error use of deleted function std unique ptr lt Tp D
  • Web浏览器控件:如何捕获文档事件?

    我正在使用 WPF 的 WebBrowser 控件加载一个简单的网页 在这个页面上我有一个锚点或一个按钮 我想在我的应用程序后面的代码中 即在 C 中 捕获该按钮的单击事件 WebBrowser 控件是否有办法捕获加载页面元素上的单击事件
  • JNA Windows 服务启动类型

    我一直在使用 JNA 并且能够使用下面的代码返回 Windows 服务的状态 即启动或停止 但我不确定如何返回服务的启动类型 我确信 JNA 之外还有其他方法 但如果可能的话我想继续使用 JNA import com sun jna imp
  • 使用 FromBase64Transform 解码 base64 文件流

    The example https msdn microsoft com en us library system security cryptography frombase64transform 28v vs 110 29 aspx从M
  • 使用左连接获得不适当的输出

    我正在尝试获取变体列表 并且对于每个变体都获取所有subvariants list无论子变体属于何处 特别的Test say 100 这是示例数据 Id TestId SourceSubVariantId TargetSubVariantI
  • ef core 在更新数据库期间不使用 ASPNETCORE_ENVIRONMENT

    我使用 Visual Studio 通过一定的迁移来更新我的所有环境 使用下面的命令效果很好 update database Migration initMigrationProduct c ProductContext Environme
  • WCF 服务中的缓冲区大小

    我们有一个 WCF 服务 它执行某些存储过程并将结果返回给 silverlight 客户端 某些存储过程最多返回 80K 行 下面给出的是 web config 中服务的设置
  • 当一对迭代器初始化时,向量是否知道先保留?

    考虑以下代码 struct MyData MyData const BYTE pData size t uSize bucket pData pData uSize std vector
  • Rx 在不同的线程上生产和消费

    我试图通过此处的示例代码来简化我的问题 我有一个生产者线程不断地输入数据 并且我尝试在批次之间添加时间延迟来对其进行批处理 以便 UI 有时间渲染它 但结果并不如预期 生产者和消费者似乎在同一个线程上 我不希望批处理缓冲区在正在生成的线程上
  • 在链表程序中使用模板时重载 C++ 中的 << 运算符

    我正在尝试实现一个链接列表 但是当我尝试重载 include
  • 如何使用 .NET 捕获我的桌面视频?

    我想知道是否有任何方法可以使用 NET 捕获我的桌面的视频 截屏视频 我并不是在寻找截屏软件 而只是在寻找一种可以让我自己生成桌面视频的技术 我想过拍摄多个屏幕截图 但我不确定如何以编程方式生成带有图像序列的视频 有人有主意吗 Thanks
  • 打印任何类型的数组和列表的通用方法[重复]

    这个问题在这里已经有答案了 每当我调试一段涉及整数 双精度 字符串等数组或列表的代码时 有时我更喜欢打印它们 我为此所做的是为不同类型编写重载的 printArray printList 方法 for e g 我可能有这 3 种方法来打印各
  • 小数精度

    我使用小数类型进行高精度计算 货币 但我今天遇到了这个简单的划分 1 1 37 这应该再次得到 37 http www wolframalpha com input i 1 2F 281 2F37 29 http www wolframal
  • 从其对象获取结构体字段的名称和类型

    例如 我有一个类似这样的结构 struct Test int i float f char ch 10 我有一个该结构的对象 例如 Test obj 现在 我想以编程方式获取字段名称和类型obj 是否可以 顺便说一句 这是 C 你正在要求C

随机推荐

  • 为什么这个任务提前返回?我做错了什么吗?

    我正在尝试设置一群具有最小耦合的工作人员 但我想使用 C async和任务 并非所有任务都是纯异步的 有些任务是完全同步的 这样做的动机是我想创建一些执行业务逻辑的简单方法 并使用System Threading Tasks TaskAPI
  • 检测 Mac OS X 上的调试器

    我试图检测我的进程是否正在调试器中运行 在 Windows 中有很多解决方案 在 Linux 中我使用 ptrace PTRACE ME 0 0 0 并检查其返回值 我没有设法在 Mac OS X 上执行相同的基本检查 我尝试使用 ptra
  • 请解释一下使用 std::ignore 的这段代码

    我正在阅读有关的文档std ignore http en cppreference com w cpp utility tuple ignore来自 cppreference 我发现很难掌握这个对象的真正目的 并且示例代码并没有很好地说明这
  • 如何使用 RxJS 显示“用户正在输入”指示器?

    我了解一点 BaconJS 但现在我尝试通过创建 用户正在输入 指示器来学习 RxJS 这很简单 可以用两个简单的规则来解释 当用户打字时 指示器应该立即可见 当用户停止键入时 指示器应该仍然可见 直到用户最后一次键入操作后 1 秒 我不确
  • 矩阵的行主布局与列主布局

    在编程密集矩阵计算时 是否有任何理由选择行优先布局而不是列优先布局 我知道 根据所选矩阵的布局 我们需要编写适当的代码来有效地使用缓存以达到速度目的 行主布局看起来更自然 更简单 至少对我来说 但是像 LAPACK 这样用 Fortran
  • 使用 Oracle 11g 的 Oracle 开发人员虚拟机

    I found here http www oracle com technetwork community developer vm index html带有 Oracle DB 和 Oracle Linux 的 VirtualBox 的
  • 编辑RefineryCMS 2.1 Menu Presenter以操作dom_id css和其他属性

    我目前正在尝试从 gem 版本更新现有的 RefineryCMS 应用程序 以便我可以同时添加 bootstrap 3 gem refinerycms gt 2 0 10 to gem refinerycms gt 2 1 0 在删除过时的
  • IO异常:Oracle升级到12g后出现Oracle Error ORA-12650

    在我们的 Oracle DB 从 11g 升级到 12g 后 我们得到了下面的堆栈跟踪 Io exception Oracle Error ORA 12650 我该如何解决这个问题 2015 10 26 14 59 36 319 RMI T
  • 需要一个插入行并返回 ID 的存储过程

    我尝试编写一个存储过程 首先将新记录插入表中 然后返回该新记录的 id 我不确定这是否是实现这一目标的正确方法和最佳方法 ALTER PROCEDURE dbo spAddAsset Name VARCHAR 500 URL VARCHAR
  • minitest - 模拟 - 期望关键字参数

    当我想验证模拟是否发送了预期的参数时 我可以这样做 mock expect fnc nil a b 但是 如果我想模拟的课程看起来像这样 class Foo def fnc a b end end 我如何模拟它并验证传递的值a b 下面是我
  • 判断一个数是完美数还是素数

    问题是 编写一个函数来判断一个数是素数还是完全数 到目前为止 我已经首先完成了完美的部分 这就是我所拥有的 include
  • Excel 如何比较 2 列范围

    我正在尝试比较 Excel 中的两组列范围 我知道标准比较公式 Eg A1 E1 我正在寻找的是以下公式的替代品 AND A1 E1 B1 F1 C1 G1 由于列数很大 我在想是否可以使用单元格范围 比 Chronocidal慢一点 只是
  • 星际争霸、帝国时代等即时战略游戏的协议是什么样的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对这些类型的游戏的协议 和游戏循环 如何工作感兴趣 任何指示或见解表示赞赏 我猜想主循环会有一个世界状态 每秒会前进几个 滴答声 但
  • 如何阻止 gke-metadata-server 继续生成此日志?

    我创建了一个部署 意味着在启用工作负载身份的情况下将消息从 pubsub 插入到 bigquery 云日志不断向我发送此类日志 insertId test jsonPayload message rpc id test computeMet
  • 是否有关于 Dagger 在注入依赖项时何时回退到反射的文档?

    我的团队在我们的 Android 应用程序中采用了 Dagger 进行依赖注入 我必须说到目前为止我们很喜欢它 然而 我们希望确保我们有效地使用它 我想知道是否有人可以解释或者是否有任何文档解释 Dagger 回退到反射来注入依赖项的情况
  • 如何使用 EmberJS 在路由中加载 ownTo/hasMany 关系

    在我的 Ember JS 应用程序中 我显示了一个约会列表 在约会控制器的操作中 我需要获取约会所有者 但所有者始终返回 未定义 我的文件 模型 appointment js import DS from ember data export
  • R CMD 检查因“未定义的导出”而失败

    我正在尝试创建 R 包 但不断收到错误 Error in namespaceExport ns exports undefined exports MCLE defineFunctions naiveMLE 跑步时R CMD check在我
  • JPA2 Criteria API 运行时从 varchar(25) 转换为十进制

    因此 我已经看到类似主题上堆栈溢出的所有线程 但我没有找到解决我的问题的方法 我正在尝试创建一个 Criteria 查询 并得到以下 SQL 第一个 SQL 简化版 SELECT latitude FROM stations WHERE A
  • Javascript momentjs 将 UTC 从字符串转换为日期对象

    各位 在处理 moment js 文档时遇到困难 record lastModified moment utc format returns 2014 11 11T21 29 05 00 00 太棒了 它是 UTC 当我将其存储在 Mong
  • 在 Windows 上使用 C 将数据流式传输到声卡 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 作为大学项目的一部分 我必须进行一些信号处理 并希望使用 PC 声卡输出结果 该软件必须用 C 语言编写