import 'package:agora_rtc_engine/agora_rtc_engine.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../viewmodel/stu_room_vm.dart'; class TeacherVideo extends StatefulWidget { const TeacherVideo({super.key}); @override State createState() => _TeacherVideoState(); } class _TeacherVideoState extends State { @override Widget build(BuildContext context) { final vm = context.read(); final teacherInfo = vm.teacherInfo; ///没开始 if (vm.roomStatus == 0) { return _empty("自习室还没开始"); } ///开始 if (vm.roomStatus == 1 && vm.engine != null) { if (teacherInfo == null) { return _empty("老师不在自习室内"); } if (teacherInfo.online == 0) { return _empty("老师掉线了,请耐心等待"); } return AgoraVideoView( controller: VideoViewController( rtcEngine: vm.engine!, canvas: VideoCanvas( uid: vm.teacherInfo!.userId, ), ), ); } ///结束 if (vm.roomStatus == 2) { return _empty("自习室已结束"); } return _empty("加载中"); } Widget _empty(String title) { return SafeArea( child: Align( child: Text( title, style: TextStyle(color: Colors.white), ), ), ); } }