- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 Unity 中使用 .NET 3.0 框架中的语音识别系统。因此,我将 .NET 3.0 中的 System.Speech.dll 及其依赖项导入到 Assets 文件夹中,因为更高版本不起作用。我知道我尝试做的事情可能行不通,因为 Unity 使用 .NET 2.0,但我仍然想尝试一下。一切似乎都正常,我可以正常运行游戏,但是当我运行它时出现错误:
NullReferenceException: Object reference not set to an instance of an object
System.Speech.Internal.ObjectTokens.RegistryDataKey.HKEYfromRegKey (Microsoft.Win32.RegistryKey regKey)
System.Speech.Internal.ObjectTokens.RegistryDataKey.RootHKEYFromRegPath (System.String rootPath)
System.Speech.Internal.ObjectTokens.RegistryDataKey.Open (System.String registryPath, Boolean fCreateIfNotExist)
System.Speech.Internal.ObjectTokens.ObjectTokenCategory.Create (System.String sCategoryId)
System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers ()
VoiceCommandListener.Start () (at Assets/Scripts/VoiceCommandListener.cs:14)
代码行是:
SpeechRecognitionEngine speechRecognitionEngine = new SpeechRecognitionEngine(SpeechRecognitionEngine.InstalledRecognizers()[0]);
当我在 Unity 之外运行同一行代码时,它工作正常并且只获取默认和第一个识别器,但不知何故它在 Unity 中不起作用。
我曾尝试在使用 .NET 2.0 而不是 .NET 2.0 子集之间切换,切换到 Microsoft.Speech.Recognition 并导入 Microsoft.Speech.dll 也不起作用,并给出相同类型的错误。我还尝试运行以下代码块:
SpeechRecognitionEngine speechRecognitionEngine = null;
foreach (RecognizerInfo info in SpeechRecognitionEngine.InstalledRecognizers()) {
if (info.Culture.Equals(requiredCulture) && info.Id == requiredId ) {
speechRecognitionEngine = new SpeechRecognitionEngine(info);
break;
}
}
这给出了相同的结果,这次是在使用“SpeechRecognitionEngine.InstalledRecognizers()”的代码行处。
有人知道为什么它不返回任何东西吗?
切换到 Microsoft.Speech.Recognition 并导入 Microsoft.Speech.dll 也不起作用,并给出相同类型的错误。
提前致谢。
罗恩
最佳答案
我遇到了同样的问题,但情况似乎是附带的 Mono mscorlib 中的 Microsoft.Win32.RegistryKey 类与 Microsoft 版本不完全兼容。
查看 System.Speech dll 中的 ILSpy,它显示出现空引用的方法尝试使用反射获取传递的 RegistryKey 实例的非公共(public)“hkey”字段。该字段在 Unity 附带的 mscorlib 中不可用。
关于.net - SpeechRecognitionEngine.InstalledRecognizers() 在 Unity 中返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32697868/
我正在尝试创建一个语音识别程序,它需要在锁定的 Windows 计算机上运行,作为家庭自动化项目的一部分。但似乎 SpeechRecognitionEngine 在计算机锁定时停止识别(并在计算机
我们想使用一个 XML 文件作为语法,列出我们系统的所有命令, 然而,其中一个命令将是“查找用户 xxxxxx”,其中 xxxxx 将是一个唯一编号。 如果语法 xml 文件中有创建此“通配符/搜索项
我一直在使用 Kinect 和语音识别,我注意到我无法让 AudioLevel 成员从我的 SpeechRecognitionEngine 对象中更改。 我成功地让命令被识别,所以我知道 kinect
我正在尝试启动一个简单的语音识别程序,但它不起作用,我已经安装了一些语言(en-GB 和 en-US),但每当我使用以下内容时: SpeechRecognitionEngine.InstalledRe
我正在使用 Microsoft System.Speech SpeechRecognitionEngine 进行听写,我需要能够记录所有正在处理的音频并同时对其执行语音识别。 现在我可以很好地进行语音
我正在 VS 2012 中开发允许语音输入的 C# WPF 应用程序。我使用 SpeechRecognitionEngine 而不是 SpeechRecognizer,因为后者在应用程序和 Windo
当我加载语法并使用时: SpeechRecognitionEngine _sre = new SpeechRecognitionEngine(); ... _sre.RecognizeAsync(Re
我正在尝试通过 TCP 套接字在 C# 中进行“流式”语音识别。我遇到的问题是 SpeechRecognitionEngine.SetInputToAudioStream() 似乎需要一个可以搜索的定
我正在尝试在 Unity 中使用 .NET 3.0 框架中的语音识别系统。因此,我将 .NET 3.0 中的 System.Speech.dll 及其依赖项导入到 Assets 文件夹中,因为更高版本
我正在尝试在 Unity 中使用 .NET 3.0 框架中的语音识别系统。因此,我将 .NET 3.0 中的 System.Speech.dll 及其依赖项导入到 Assets 文件夹中,因为更高版本
我在尝试实现 Microsoft 提供的有关如何使用 SpeechRecognitionEngine (https://msdn.microsoft.com/en-us/library/system.
我已经使用 System.Speech.Recognition 命名空间进行编码,并使用语法和 SpeechRecognitionEngine 的 XML SRGS 文件。 我希望能够通过训练对我编写
我正在使用 Microsoft.Speech(不是 System.Speech!),我正在尝试将音频流的输入设置为我的麦克风,这是默认的音频设备,但它抛出异常: System.InvalidOpera
我目前正在通过从 xml 文件加载一个非常简单的规则来测试 SpeechRecognitionEngine。事实上,它是介于(“解密电子邮件”、“删除加密”)或(“加密电子邮件”、“添加加密”)之间的
我正在研究这个 SAPI v5.1 库。所以我正在测试我拥有的示例 WAV 文件。 (Download it from here)。无论如何,该文件中的声音清晰而轻松。它只包含一个单词,即第三个单词。
是否可以通过编程方式训练识别器提供 .wavs 而不是对着麦克风说话? 如果是这样,该怎么做?目前我有对 0.wav 文件中的音频执行识别并将识别的文本写入控制台的代码。 Imports System
我是一名优秀的程序员,十分优秀!