0

下午好,

我有一个 Windows 应用程序,它在按下开始按钮时开始录制,在停止按钮单击时停止录制,当我们拔下麦克风时停止录制它工作正常,但我的新要求是当我按下开始按钮时开始录制,如果我不说话几分钟后,录音应该停止。我无法谷歌这个问题。我被这个问题困住了,谁能帮助我?

这是开始和停止录制的示例代码

uint hr = MFRecWrapper.StartRecording(microPhoneName.Trim(), this.fileName.Trim(), this.bitSamplingBitrate, this.avgBytesWrittenPerSecond, this.Handle);
uint hr = MFRecWrapper.StopRecording();

先感谢您.. :)

4

1 回答 1

0

您需要分析音频输入流。有一些简单的技术可以做到这一点,还有一些更高级的。

作为初学者,您可以简单地修复响度阈值。如果您的输入响度在给定时间内低于该值,请停止录制。更高级和恕我直言更好的方法是计算输入信号的 SNR 并将其用作您的标准。

总结:这是一项相当艰巨的任务。开源应用Mumble实现了其中的一些功能。我认为从那里开始获得灵感是个好主意。

于 2013-07-16T09:31:16.493 回答