Проблемы с 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-файлом, я пробовал здесь кучу разных вариантов, но ничего не работает. Я не нашел ничего полезного в Интернете, пожалуйста, помогите мне.