Проблемы с Unity GrammarRecognizer и XML-файлом. В 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.6f1Visual Studio 2019 (версия 16.9.4)(я создаю приложение для HoloLens2 и использую MRTK в Unity в XRSDKProfil на платформе UWP.)

-> Я добавил Поставщики данных Windows Speech Input и Windows Dictation Input в MRTK (Диктовка работает нормально)-> Мой микрофон работает и используется Unity

Кажется, это проблема с XML-файлом, я пробовал здесь кучу разных вариантов, но ничего не работает. Я не нашел ничего полезного в Интернете, пожалуйста, помогите мне.

0 ответов

Другие вопросы по тегам