protected override void HandleTtsFrame(SaiTtsFrame ttsFrame) { if (ttsFrame.FrameType == SaiFrameType.TTS_OffsetStart) { this.Context.RsspEP.DefenseTech = MessageDelayDefenseTech.TTS; var strategy = new TtsDefenseStrategy(this.Context.FrameTransport, false); this.Context.DefenseStrategy = strategy; this.Context.CurrentState = new TtsWaitingforStartState(this.Context, strategy); this.Context.CurrentState.HandleFrame(ttsFrame); } else { throw new Exception("SaiInvalideState状态时,收到的第一条帧不是OffsetStart。"); } }
protected TtsState(ISaiStateContext context, TtsDefenseStrategy strategy) : base(context) { this.DefenseStrategy = strategy; }
public TtsWaitingforStartState(ISaiStateContext context, TtsDefenseStrategy strategy) : base(context, strategy) { }
public TtsDisconnectedState(ISaiStateContext context, TtsDefenseStrategy strategy) : base(context, strategy) { }