using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tobii.Research; namespace GazeWebSocketServer { class EyeTrackerClient { private IEyeTracker eyeTracker; private GazeDataProcessor gazeDataProcessor; public EyeTrackerClient() { while (eyeTracker == null) { EyeTrackerCollection eyeTrackers = EyeTrackingOperations.FindAllEyeTrackers(); if (eyeTrackers.Count > 0) { eyeTracker = eyeTrackers[0]; } } gazeDataProcessor = new GazeDataProcessor(); eyeTracker.SetGazeOutputFrequency(120f); } public void Start() { eyeTracker.GazeDataReceived += GazeDataReceivedHandler; } public void Stop() { eyeTracker.GazeDataReceived -= GazeDataReceivedHandler; } private void GazeDataReceivedHandler(object sender, GazeDataEventArgs e) { Console.WriteLine(gazeDataProcessor.Extract(e).ToString()); } } }