1
0
forked from cgvr/DeltaVR

improve fmod whisper bridge and radio button using it

This commit is contained in:
2026-02-21 20:25:12 +02:00
parent c968e6bed4
commit 1a29f785b8
4 changed files with 204 additions and 86 deletions

View File

@@ -18,6 +18,7 @@ public class RadioTransmitter : XRGrabInteractable
void Start()
{
radioButton.OnButtonPressed += OnRadioButtonPressed;
radioButton.OnButtonReleased += OnRadioButtonReleased;
}
// Update is called once per frame
@@ -38,12 +39,20 @@ public class RadioTransmitter : XRGrabInteractable
fmodWhisperBridge.OnWhisperSegmentFinished += OnPlayerSpeechFinished;
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.RadioButton, gameObject);
fmodWhisperBridge.ActivateRecording();
// TODO: deactivate when button is released
}
private void OnRadioButtonReleased()
{
fmodWhisperBridge.OnWhisperSegmentUpdated -= OnPlayerSpeechUpdated;
fmodWhisperBridge.OnWhisperSegmentFinished -= OnPlayerSpeechFinished;
AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.RadioButton, gameObject);
fmodWhisperBridge.DeactivateRecording();
}
private void OnPlayerSpeechUpdated(string text)
{
computerScreen.text = text;
OnPlayerFinishedSpeaking?.Invoke();
}
private void OnPlayerSpeechFinished(string playerText)