3

我将如何打开麦克风并打开某种直播流来收听我在另一个位置的 PC 上发生的事情?这将是一个婴儿监视器项目。

关于我应该这样做的方式有什么想法吗?我只是真正在完成任务的代码之后。我可以做剩下的。我正在学习德尔福,所以我应该没问题。

我还需要能够停止麦克风。在这个阶段我不想顶嘴,只是实时或尽可能接近地听。

4

4 回答 4

6

哇,每个人都在为此推荐外部软件包。它内置于 Windows - waveInOpen/waveInPrepareHeader/waveInBufferRead API 应该适用于所有版本的 Windows。

如果您需要更好的控制,也可以使用 DirectSoundCapture。

于 2009-07-25T21:52:53.463 回答
2

Audiolab具有所有需要的(以及更多)功能,并且可免费用于非商业用途。它还支持 Win32 和 .NET。

如果你想进入低级别,你需要探索 API 的支持记录之一,如Wave API(C++ 中的示例)

于 2009-07-25T07:27:55.810 回答
1

我找到了Wave Audio Package,它有一个用于录制音频的组件。它可以记录到文件或流中,也可以在数据块可用时调用事件处理程序。

它包括一个音频重定向器,它将从一个地方(如录音机组件,在您的情况下)获取音频并将其发送到其他地方(如播放组件)。如果您想在收集麦克风的音频时播放它,您可能会想要它。该软件包附带了一些演示。

重定向器看起来除了默认值之外还可以接受其他播放对象,因此如果您想在另一台计算机上播放声音,那么您可以尝试编写一个通过网络发送数据而不是将其发送到本地的后代类扬声器。

于 2009-07-25T02:13:48.027 回答
0

我通过 Delphi 与 Windows 环境进行的很多集成都是通过 COM / ActiveX 对象进行的。查找CoCreateInstance 调用,然后尝试找到一个为您处理麦克风的ActiveX 控件。

于 2009-07-25T01:50:49.227 回答