enhanced UDP audio sender/receiver scripts with metrics for packet tracking and improved NPC assignment logic

This commit is contained in:
tom.hempel
2025-10-23 03:08:51 +02:00
parent 6a99392e34
commit 73b921fc9b
13 changed files with 751 additions and 12 deletions

View File

@ -54,6 +54,14 @@ namespace Convai.Scripts.Runtime.Multiplayer
public Action<string> OnTranscriptReceived;
public Action<AudioClip> OnAudioClipReceived;
// Metrics for debug UI
private int _totalClipsReceived = 0;
private DateTime _lastClipReceivedTime;
public int TotalClipsReceived => _totalClipsReceived;
public float TimeSinceLastReceive => _lastClipReceivedTime != default ?
(float)(DateTime.UtcNow - _lastClipReceivedTime).TotalSeconds : -1f;
public int ListenPort => listenPort;
// Data structures
private struct SpeechPacket
{
@ -446,6 +454,10 @@ namespace Convai.Scripts.Runtime.Multiplayer
OnAudioClipReceived?.Invoke(clip);
// Update metrics
_totalClipsReceived++;
_lastClipReceivedTime = DateTime.UtcNow;
if (enableDebugLogging)
ConvaiLogger.DebugLog($"✅ Reconstructed audio clip {sequence}: {clip.length:F2}s, '{incomingClip.transcript}'", ConvaiLogger.LogCategory.Character);
}