11111
This commit is contained in:
121
Assets/07.RKTools/RunTime/RKVoiceCommand/VoiceSwitchingScene.cs
Normal file
121
Assets/07.RKTools/RunTime/RKVoiceCommand/VoiceSwitchingScene.cs
Normal file
@@ -0,0 +1,121 @@
|
||||
using System;
|
||||
using Rokid.UXR.Module;
|
||||
using Stary.Evo;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Android;
|
||||
using ModuleManager = Rokid.UXR.Module.ModuleManager;
|
||||
|
||||
public class VoiceSwitchingScene : MonoBehaviour
|
||||
{
|
||||
private String[] _sceneNames = new string[]
|
||||
{
|
||||
"打开第一个场景",
|
||||
"打开第二个场景",
|
||||
"打开第三个场景",
|
||||
"打开第四个场景",
|
||||
"打开第五个场景",
|
||||
"打开第六个场景",
|
||||
"打开第七个场景",
|
||||
"打开第八个场景",
|
||||
"打开第九个场景",
|
||||
"打开第十个场景",
|
||||
"打开第十一个场景",
|
||||
"打开第十二个场景",
|
||||
"打开第十三个场景",
|
||||
"打开第十四个场景",
|
||||
"打开第十五个场景",
|
||||
"打开第十六个场景",
|
||||
"打开第十七个场景",
|
||||
"打开第十八个场景",
|
||||
"打开第十九个场景",
|
||||
"打开第二十个场景",
|
||||
"打开地图测试场景"
|
||||
};
|
||||
|
||||
private String[] _sceneNamesSpell = new string[]
|
||||
{
|
||||
"da kai di yi ge chang jing",
|
||||
"da kai di er ge chang jing",
|
||||
"da kai di san ge chang jing",
|
||||
"da kai di si ge chang jing",
|
||||
"da kai di wu ge chang jing",
|
||||
"da kai di liu ge chang jing",
|
||||
"da kai di qi ge chang jing",
|
||||
"da kai di ba ge chang jing",
|
||||
"da kai di jiu ge chang jing",
|
||||
"da kai di shi ge chang jing",
|
||||
"da kai di shi yi ge chang jing",
|
||||
"da kai di shi er ge chang jing",
|
||||
"da kai di shi san ge chang jing",
|
||||
"da kai di shi si ge chang jing",
|
||||
"da kai di shi wu ge chang jing",
|
||||
"da kai di shi liu ge chang jing",
|
||||
"da kai di shi qi ge chang jing",
|
||||
"da kai di shi ba ge chang jing",
|
||||
"da kai di shi jiu ge chang jing",
|
||||
"da kai di shi er shi ge chang jing",
|
||||
"da kai di tu ce shi chang jing",
|
||||
};
|
||||
|
||||
private HybridClREntrance hybridClREntrance;
|
||||
|
||||
private MainDomainAll mainDomainAll;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
hybridClREntrance = GameObject.FindAnyObjectByType<HybridClREntrance>();
|
||||
#if UNITY_EDITOR
|
||||
hybridClREntrance.enabled = true;
|
||||
AppConfig.OpenDomainType = OpenDomainType.Editor;
|
||||
#endif
|
||||
if (!Permission.HasUserAuthorizedPermission("android.permission.RECORD_AUDIO"))
|
||||
{
|
||||
Permission.RequestUserPermission("android.permission.RECORD_AUDIO");
|
||||
}
|
||||
|
||||
ModuleManager.Instance.RegistModule("com.rokid.voicecommand.VoiceCommandHelper", false);
|
||||
OfflineVoiceModule.Instance.ChangeVoiceCommandLanguage(LANGUAGE.CHINESE);
|
||||
|
||||
mainDomainAll = Resources.Load<MainDomainAll>("MainDomainAll");
|
||||
for (int i = 0; i < mainDomainAll.domainAll.Length; i++)
|
||||
{
|
||||
if (mainDomainAll.domainAll[i].isVideo)
|
||||
OfflineVoiceModule.Instance.AddInstruct(LANGUAGE.CHINESE, _sceneNames[i], _sceneNamesSpell[i],
|
||||
this.gameObject.name, "OnReceive");
|
||||
}
|
||||
|
||||
OfflineVoiceModule.Instance.Commit();
|
||||
}
|
||||
|
||||
|
||||
void OnReceive(string msg)
|
||||
{
|
||||
if (hybridClREntrance.enabled == false)
|
||||
{
|
||||
AppConfig.OpenDomainType = OpenDomainType.VIOICE;
|
||||
hybridClREntrance.enabled = true;
|
||||
return;
|
||||
}
|
||||
|
||||
int index = Array.IndexOf(_sceneNames, msg);
|
||||
Debug.Log($"UnityEvo:打开第{index}个语音指令");
|
||||
if (index == 20)
|
||||
{
|
||||
StringEventSystem.Global.Send("OpenCreatZone");
|
||||
}
|
||||
else if (index != -1)
|
||||
{
|
||||
hybridClREntrance.OpenDomain(mainDomainAll.domainAll[index].domainName, OpenDomainType.VIOICE);
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.LogError("UnityEvo:不存在语音指令:" + msg + ",请检查配置文件");
|
||||
}
|
||||
}
|
||||
|
||||
public void SetPointClound()
|
||||
{
|
||||
AppConfig.OpenDomainType = OpenDomainType.PointCloud;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 97f6e15196934254c94bd3de1f798b77
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
Reference in New Issue
Block a user