【问题标题】:How to fetch data from a usb microphone in c++ or c?如何从 c++ 或 c 中的 USB 麦克风获取数据?
【发布时间】:2014-01-15 01:53:58
【问题描述】:

我正在做一个项目,我需要对从 USB 麦克风获得的音频信号进行一些处理。最好从 USB 端口读取原始样本读数。但是,我找不到任何非常相关的东西。我打算使用 C/C++ 来实现这个程序。谁能帮我开始?

我看到了一个名为 libusb 的库,但我不完全确定如何使用它来从 USB 麦克风获取声音信号。另外,当我说“获取”时,我的意思是我需要查看原始采样数据。

【问题讨论】:

  • 您的 USB 麦克风是什么类型的设备?通常这些将是 USB 音频类,它允许它枚举为音频接口而不是通用 USB 接口。另外,你在哪个平台上工作?
  • @Preston 我认为我的只是一个通用 USB 设备(蓝色麦克风雪花),您可能还有其他想法。我可以同时在 Linux 和 Windows 上工作,具体取决于哪一个更容易实现。

标签: audio usb microphone


【解决方案1】:

Blue Snowflake 麦克风将在 Windows 和 Linux 上枚举为 USB 音频设备,这意味着您不需要驱动程序,也不必将其作为通用 USB 设备进行通信。相反,您将希望使用本机音频 API 与设备交互。这意味着您可以打开设备、设置音频格式设置并直接从设备开始采集样本。

在 Windows 上查看Core Audio APIs,打开设备后,您应该能够使用WASAPI 创建音频会话以从设备中获取样本。

对于 Linux,您应该看看 ALSA,虽然我没有使用它,但 PulseAudio 似乎是现代 Linux 发行版的流行音频 API。

【讨论】:

    猜你喜欢
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2018-09-19
    • 1970-01-01
    相关资源
    最近更新 更多