import 'dart:async'; import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'package:flutter_voice_processor/flutter_voice_processor.dart'; import 'package:get/get.dart'; import 'package:network_info_plus/network_info_plus.dart'; import '../../../../tools/storage.dart'; class RealTimePictureState { RealTimePictureState() { getLockName.value = Get.arguments['lockName'].toString(); } RxBool isOpenVoice = false.obs; int udpSendDataFrameNumber = 0; // 帧序号 // var isSenderAudioData = false.obs;// 是否要发送音频数据 Future userMobileIP = NetworkInfo().getWifiIP(); Future userUid = Storage.getUid(); RxInt udpStatus = 0.obs; //0:初始状态 1:等待监视 2: 3:监视中 4:呼叫成功 5:主角通话中 6:被叫通话 8:被叫通话中 9:长按说话 TextEditingController passwordTF = TextEditingController(); Rx listData = Uint8List(0).obs; //得到的视频流字节数据 RxList listAudioData = [].obs; //得到的音频流字节数据 late final VoiceProcessor? voiceProcessor; late Timer oneMinuteTimeTimer = Timer(const Duration(seconds: 1), () {}); // 定时器超过60秒关闭当前界面 RxInt oneMinuteTime = 0.obs; // 定时器秒数 RxString getLockName = ''.obs; //lockName // 定时器如果发送了接听的命令 而没收到回复就每秒重复发送10次 late Timer answerTimer; late Timer hangUpTimer; late Timer openDoorTimer; late AnimationController animationController; late Timer autoBackTimer = Timer(const Duration(seconds: 1), () {}); //发送30秒监视后自动返回 late Timer realTimePicTimer = Timer(const Duration(seconds: 1), () {}); //监视命令定时器 RxInt elapsedSeconds = 0.obs; }