CustomTranscriptionProvider.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /*
  2. * Copyright (c) Meta Platforms, Inc. and affiliates.
  3. * All rights reserved.
  4. *
  5. * This source code is licensed under the license found in the
  6. * LICENSE file in the root directory of this source tree.
  7. */
  8. using Meta.WitAi.Events;
  9. using UnityEngine;
  10. using UnityEngine.Events;
  11. namespace Meta.WitAi.Interfaces
  12. {
  13. public abstract class CustomTranscriptionProvider : MonoBehaviour, ITranscriptionProvider
  14. {
  15. [SerializeField] private bool overrideMicLevel = false;
  16. private WitTranscriptionEvent onPartialTranscription = new WitTranscriptionEvent();
  17. private WitTranscriptionEvent onFullTranscription = new WitTranscriptionEvent();
  18. private UnityEvent onStoppedListening = new UnityEvent();
  19. private UnityEvent onStartListening = new UnityEvent();
  20. private WitMicLevelChangedEvent onMicLevelChanged = new WitMicLevelChangedEvent();
  21. public string LastTranscription { get; }
  22. public WitTranscriptionEvent OnPartialTranscription => onPartialTranscription;
  23. public WitTranscriptionEvent OnFullTranscription => onFullTranscription;
  24. public UnityEvent OnStoppedListening => onStoppedListening;
  25. public UnityEvent OnStartListening => onStartListening;
  26. public WitMicLevelChangedEvent OnMicLevelChanged => onMicLevelChanged;
  27. public bool OverrideMicLevel => overrideMicLevel;
  28. public abstract void Activate();
  29. public abstract void Deactivate();
  30. }
  31. }