【问题标题】:How can I capture audio from a mic to send it over a socket?如何从麦克风捕获音频以通过套接字发送?
【发布时间】:2011-09-26 02:42:10
【问题描述】:

我正在使用 Windows 7 并使用 Visual Studio 2010 开发类似聊天的应用程序。我正在寻找一种从麦克风(或者更确切地说,从默认录音设备)捕获音频的简单方法,从所述输入中收集缓冲区,并通过套接字发送。我见过推荐的 DirectX 解决方案,但根据我的研究,这与简单相反。一个简单的捕获/保存文件程序的 5000 行示例代码?这对我来说根本不起作用(是的,这是 SDK 提供的官方示例)。

无论如何,我不需要它是跨平台的,而且我真的更喜欢 Windows 已经附带的东西,尽管我不介意安装一个库,只要它不会比编写硬件驱动从头搞定(夸张)。我听说过这个 waveInOpen 函数,但奇怪的是我找不到任何关于如何使用它的演示。如果有人有想法或一些示例代码的链接,我将不胜感激。感谢大家的宝贵时间!

附:我可以自己弄清楚网络部分。我只需要访问原始音频数据缓冲区。

【问题讨论】:

  • 当您在 Google(甚至 Stack Overflow 本身)搜索 waveInOpen 时,您发现了什么?
  • 过去 2 小时内我一​​直在寻找同样的事情 - 问题和/或明显的事实。我需要一个演示。
  • 好的,谢谢。我将查看这段代码,看看是否能从中找到任何东西。不过似乎还是有点冗长。我用openCV做视频,它远没有这个音频那么复杂,呵呵

标签: c++ windows visual-studio-2010 winapi audio


【解决方案1】:

如果您自己做套接字,请尝试检查:

http://www.techmind.org/wave/

http://www.bcbjournal.com/articles/vol2/9810/Low-level_wave_audio__part_3.htm

http://www.relisoft.com/freeware/recorder.html

除了最后一个,我都很喜欢,但话说回来,你可能会发现它更有帮助。

【讨论】:

  • 只要它有帮助...我有点担心,因为我只有 C 或 C++ 的示例,因为我真的没有任何其他语言的示例。
猜你喜欢
  • 2011-05-24
  • 2013-04-03
  • 1970-01-01
  • 2016-10-13
  • 1970-01-01
  • 2014-01-02
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
相关资源
最近更新 更多