import 'package:app/config/config.dart'; import 'package:flutter/material.dart'; import 'package:agora_rtc_engine/agora_rtc_engine.dart'; import '../../request/dto/room/rtc_token_dto.dart'; /// 视频画面显示状态 enum VideoState { /// 正常显示视频 normal, /// 摄像头关闭 closed, /// 掉线 / 未连接 offline, /// 加载中(进房、拉流等) loading, /// 错误状态(拉流失败等) error, } class VideoSurface extends StatelessWidget { final VideoState state; const VideoSurface({super.key, this.state = VideoState.normal}); @override Widget build(BuildContext context) { String stateText = switch (state) { VideoState.closed => "摄像头已关闭", VideoState.offline => "掉线", VideoState.loading => "加载中", VideoState.error => "错误", _ => "未知", }; //如果不是正常 if (state != VideoState.normal) { return Align( child: Text(stateText, style: TextStyle(color: Colors.white70)), ); } return Container(); } }