2011-09-19 60 views
2

我只是想知道用户开始说话后是否有办法从麦克风开始录音。用户在Windows Phone 7中开始讲话后立即开始录制?

我知道如何从麦克风使用正常的步骤录制音频,但它总是要求用户通过按下一个按钮或东西,开始录制自己。

我想知道是否有当用户开始说话,可以触发记录的事件。或者,如果我能让程序理解用户讲话的时间。

回答

1

目前,这不能在WP7系统级别进行。至于你自己的应用 - 理论上是可能的。您可以启动麦克风,并在每次引发缓冲区就绪事件时执行麦克风缓冲区分析。您可以分析声音模式,应用一些独立的声音噪声算法(如果存在纯粹的.net实现中),并且如果检测到声音,则开始将数据发送到记录流。尽管这对设备来说是一个很大的开销。

Windows 7有语音激活的命令了。我建议等待WP7的更多更新版本,很可能微软很快就会推出我们的功能。虽然它仍然会消耗功率,但系统需要一直运行麦克风,并进行波形序列分析。

+0

我会说,这是一个比较详细的解答。但我认为他们应该研究更多的政策,这将违背用户体验的Windows市场的条款。他/她不应该尝试吗?那最终取决于他/她。 – Keeano

+0

感谢Maxim的回答。所以基本上我必须在应用程序启动后立即启动麦克风,并对从麦克风获得的每个缓冲区执行一些语音识别。是否有捷径可寻? 我从麦克风得到的是一个取决于采样率,缓冲区持续时间和通道数量的字节数组。我可以对这组字节执行某种操作来知道它是否有语音,如果您能够在这方面给我一个良好的开端,我将不胜感激,因为我没有任何经验。 –

相关问题