VoiceSDKConfigBinding.cs 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * Copyright (c) Meta Platforms, Inc. and affiliates.
  3. * All rights reserved.
  4. *
  5. * Licensed under the Oculus SDK License Agreement (the "License");
  6. * you may not use the Oculus SDK except in compliance with the License,
  7. * which is provided at the time of installation or download, or which
  8. * otherwise accompanies this software in either electronic or hard copy form.
  9. *
  10. * You may obtain a copy of the License at
  11. *
  12. * https://developer.oculus.com/licenses/oculussdk/
  13. *
  14. * Unless required by applicable law or agreed to in writing, the Oculus SDK
  15. * distributed under the License is distributed on an "AS IS" BASIS,
  16. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17. * See the License for the specific language governing permissions and
  18. * limitations under the License.
  19. */
  20. using Meta.WitAi.Configuration;
  21. using Meta.WitAi;
  22. using UnityEngine;
  23. namespace Oculus.Voice.Bindings.Android
  24. {
  25. public class VoiceSDKConfigBinding
  26. {
  27. private WitRuntimeConfiguration configuration;
  28. public VoiceSDKConfigBinding(WitRuntimeConfiguration config)
  29. {
  30. configuration = config;
  31. }
  32. public AndroidJavaObject ToJavaObject()
  33. {
  34. AndroidJavaObject witConfig =
  35. new AndroidJavaObject("com.oculus.assistant.api.voicesdk.immersivevoicecommands.WitConfiguration");
  36. witConfig.Set("clientAccessToken", configuration.witConfiguration.GetClientAccessToken());
  37. AndroidJavaObject witRuntimeConfig = new AndroidJavaObject("com.oculus.assistant.api.voicesdk.immersivevoicecommands.WitRuntimeConfiguration");
  38. witRuntimeConfig.Set("witConfiguration", witConfig);
  39. witRuntimeConfig.Set("minKeepAliveVolume", configuration.minKeepAliveVolume);
  40. witRuntimeConfig.Set("minKeepAliveTimeInSeconds",
  41. configuration.minKeepAliveTimeInSeconds);
  42. witRuntimeConfig.Set("minTranscriptionKeepAliveTimeInSeconds",
  43. configuration.minTranscriptionKeepAliveTimeInSeconds);
  44. witRuntimeConfig.Set("maxRecordingTime",
  45. configuration.maxRecordingTime);
  46. witRuntimeConfig.Set("soundWakeThreshold",
  47. configuration.soundWakeThreshold);
  48. witRuntimeConfig.Set("sampleLengthInMs",
  49. configuration.sampleLengthInMs);
  50. witRuntimeConfig.Set("micBufferLengthInSeconds",
  51. configuration.micBufferLengthInSeconds);
  52. witRuntimeConfig.Set("sendAudioToWit",
  53. configuration.sendAudioToWit);
  54. witRuntimeConfig.Set("preferredActivationOffset",
  55. configuration.preferredActivationOffset);
  56. witRuntimeConfig.Set("clientName",
  57. WitConstants.CLIENT_NAME);
  58. witRuntimeConfig.Set("serverVersion",
  59. WitConstants.API_VERSION);
  60. return witRuntimeConfig;
  61. }
  62. }
  63. }