app-starlock/lib/main/lockDetail/realTimePicture/realTimePicture_state.dart

50 lines
1.7 KiB
Dart
Raw Normal View History

2024-01-03 15:24:42 +08:00
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 {
var isOpenVoice = false.obs;
var udpSendDataFrameNumber = 0; // 帧序号
// var isSenderAudioData = false.obs;// 是否要发送音频数据
var userMobileIP = NetworkInfo().getWifiIP();
var userUid = Storage.getUid();
2024-01-03 15:24:42 +08:00
var udpStatus =
0.obs; //0初始状态 1等待监视 2 3监视中 4呼叫成功 5主角通话中 6被叫通话 8被叫通话中 9长按说话
var passwordTF = TextEditingController();
var listData = Uint8List(0).obs; //得到的视频流字节数据
var listAudioData = <int>[].obs; //得到的音频流字节数据
late final VoiceProcessor? voiceProcessor;
2024-01-05 09:26:12 +08:00
late Timer oneMinuteTimeTimer =
Timer(const Duration(seconds: 1), () {}); // 定时器超过60秒关闭当前界面
2024-01-03 15:24:42 +08:00
var oneMinuteTime = 0.obs; // 定时器秒数
2024-01-08 11:28:22 +08:00
var getLockName = ''.obs; //lockName
2024-01-05 09:26:12 +08:00
2024-01-03 15:24:42 +08:00
// 定时器如果发送了接听的命令 而没收到回复就每秒重复发送10次
late Timer answerTimer;
late Timer hangUpTimer;
late Timer openDoorTimer;
late AnimationController animationController;
2024-01-05 09:26:12 +08:00
late Timer autoBackTimer =
Timer(const Duration(seconds: 1), () {}); //发送30秒监视后自动返回
2024-01-08 11:28:22 +08:00
late Timer realTimePicTimer =
Timer(const Duration(seconds: 1), () {}); //监视命令定时器
var elapsedSeconds = 0.obs;
2024-01-05 09:26:12 +08:00
RealTimePictureState() {
2024-01-08 11:28:22 +08:00
getLockName.value = Get.arguments["lockName"].toString();
2024-01-05 09:26:12 +08:00
}
2024-01-03 15:24:42 +08:00
}