gpt4 book ai didi

c# - SpeechRecognitionEngine.AudioLevel 不变

转载 作者:行者123 更新时间:2023-11-30 18:01:08 29 4
gpt4 key购买 nike

我一直在使用 Kinect 和语音识别,我注意到我无法让 AudioLevel 成员从我的 SpeechRecognitionEngine 对象中更改。

我成功地让命令被识别,所以我知道 kinect 正在用声音呈现我的应用程序。我已经尝试订阅 AudioLevelUpdated 事件并直接读取 AudioLevel,但事件没有触发并且 AudioLevel 始终为 0。

激活 AudioLevel 需要做些什么吗?

最佳答案

我记得以前遇到过同样的问题。在我寻找解决方案的过程中,我发现它可能有多种原因,但我还没有真正能够(没有时间)为我的案例找出问题所在。我仍然会列出一些我找到的原因。

  • 它不使用 SAPI 5.3,因此将始终返回零,因为 SAPI 5.1 不支持它。
  • 已在多个论坛上报告说这可能是 .NET v4 运行时问题。
  • AudioLevel 基于 AudioStatus.dwAudioLevel,可能会因某种原因返回 0。

在 MSDN(由 IanPeters)上建议并对我有效的解决方法是从已识别的音频中提取样本音频,使用 RecognizedAudio.WriteToWaveStream() 然后取平均值音频的绝对值。这将为您提供一个估计值,并且可能足以满足您的情况。

IanPeters 的原帖位于 msdn ( SpeechRecognitionEngine.AudioLevel )

关于c# - SpeechRecognitionEngine.AudioLevel 不变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9404331/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com