Unity GrammarRecognizer 和 XML 文件问题 .Nothing is Recognized within Unity

问题描述

我正在为 HoloLens2 的学士论文编写应用程序,并且我熟悉 C#/Unity。

我尝试了一整天来让它工作:

using UnityEngine.Windows.Speech;

public class test : MonoBehavIoUr
{
    private GrammarRecognizer m_recognizer;
    public GrammarRecognizer Recognizer { get => m_recognizer; set => m_recognizer = value; }

    void Start()
    {
        Recognizer = new GrammarRecognizer(Application.streamingAssetsPath + "/SRGS/test.xml");
        Recognizer.OnPhraseRecognized += Recognizer_OnPhraseRecognized;
        Recognizer.Start();
    }

    private void Recognizer_OnPhraseRecognized(PhraseRecognizedEventArgs args)
    {
        Debug.Log("I recognized something");
    }

    void Update()
    {
        if(Recognizer.IsRunning)
        {
            Debug.Log("Running");
        }
    }
}

这是我的 xml 文件/代码

<grammar version="1.0" xml:lang="en-US" root="rootRule"
 xmlns="http://www.w3.org/2001/06/grammar">

    <rule id="rootRule">
        <item>play</item>
    </rule>

</grammar>

语法识别器正在运行,我没有收到任何错误。听写或全局关键字识别等其他功能运行良好,但我的应用程序中需要更复杂的短语识别。 GrammarRecognizer 正确加载了文件

我的Unity版本是2020.3.6f1 Visual Studio 2019(版本 16.9.4) (我为 HoloLens2 构建了一个应用程序,并在 UWP 平台上的 XRSDKProfil 中使用 Unity 中的 MRTK。)

-> 我在 MRTK 中添加了数据提供者 Windows 语音输入和 Windows 听写输入(听写工作正常) -> 我的麦克风可以工作并被 Unity 使用

我猜这似乎是 XML 文件的问题,我在这里尝试了许多不同的变体,但没有任何效果。我在互联网上找不到任何有用的东西,请帮帮我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...