修复对讲视频第二次卡顿问题
This commit is contained in:
parent
d9c76d8708
commit
2c94fb9310
@ -406,5 +406,6 @@ class LockMonitoringLogic extends BaseGetXController {
|
||||
state.oneMinuteTimeTimer.cancel();
|
||||
}
|
||||
stopProcessing();
|
||||
state.listData.value = Uint8List(0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,9 +24,9 @@ class LockMonitoringState {
|
||||
|
||||
late final VoiceProcessor? voiceProcessor;
|
||||
|
||||
|
||||
late Timer oneMinuteTimeTimer;// 定时器超过60秒关闭当前界面
|
||||
var oneMinuteTime = 0.obs;// 定时器秒数
|
||||
late Timer oneMinuteTimeTimer =
|
||||
Timer(const Duration(seconds: 1), () {}); // 定时器超过60秒关闭当前界面
|
||||
var oneMinuteTime = 0.obs; // 定时器秒数
|
||||
|
||||
// 定时器如果发送了接听的命令 而没收到回复就每秒重复发送10次
|
||||
late Timer answerTimer;
|
||||
|
||||
@ -41,6 +41,7 @@ class CallTalk {
|
||||
Future<void> getAVData(Uint8List bb, int len) async {
|
||||
// 音频数据
|
||||
if (bb[61] == 1) {
|
||||
// print('音频数据来了');
|
||||
Uint8List g711Data = bb.sublist(77, bb.length);
|
||||
|
||||
List<int> pcmBytes;
|
||||
@ -62,6 +63,7 @@ class CallTalk {
|
||||
}
|
||||
// 视频数据
|
||||
else {
|
||||
// print('********视频数据来了');
|
||||
// 音视频数据开始下标
|
||||
var bagLen = bb[POS_blen + 2] + bb[POS_blen + 3] * 256;
|
||||
// print('音视频数据开始下标 bagLen:$bagLen');
|
||||
@ -69,7 +71,7 @@ class CallTalk {
|
||||
// 获取帧序号 63
|
||||
int getIframeIndex =
|
||||
bb[POS_iframe_index] + bb[POS_iframe_index + 1] * 256;
|
||||
// print('获取帧序号 getIframeIndex:$getIframeIndex');
|
||||
print('获取帧序号 getIframeIndex:$getIframeIndex');
|
||||
|
||||
// 获取帧长度 65
|
||||
// int alen = bb[POS_alen] & 0xff;
|
||||
@ -82,10 +84,10 @@ class CallTalk {
|
||||
|
||||
// 当前包号 71
|
||||
int getBagIndex = bb[POS_bag_index] & 0xff;
|
||||
// print('当前包号 getBagIndex:$getBagIndex');
|
||||
print('当前包号 getBagIndex:$getBagIndex');
|
||||
// 总包数 69
|
||||
int getBagNum = bb[POS_bag_num] & 0xff;
|
||||
// print('总包数 getBagNum:$getBagNum');
|
||||
print('总包数 getBagNum:$getBagNum');
|
||||
// 数据长度 73
|
||||
int blen = bb[POS_blen] + bb[POS_blen + 1] * 256;
|
||||
// print('数据长度 blen:$blen');
|
||||
@ -114,10 +116,11 @@ class CallTalk {
|
||||
// print('播放第${iframe!.iframeIndex}帧 一帧图片的hexStringData: ${Uint8List.fromList(growableList)}');
|
||||
|
||||
//判断第一帧是否接收到
|
||||
if (iframe!.iframeIndex == 0) {
|
||||
getFirstFrame = true;
|
||||
eventBus.fire(GetFirstFrameGoPush(getFirstFrame));
|
||||
}
|
||||
// if (iframe!.iframeIndex == 0) {
|
||||
// print('得到第一帧了么');
|
||||
// getFirstFrame = true;
|
||||
// eventBus.fire(GetFirstFrameGoPush(getFirstFrame));
|
||||
// }
|
||||
|
||||
eventBus.fire(GetTVDataRefreshUI(growableList));
|
||||
}
|
||||
@ -157,5 +160,11 @@ class CallTalk {
|
||||
FlutterPcmSound.pause();
|
||||
FlutterPcmSound.clear();
|
||||
FlutterPcmSound.stop();
|
||||
|
||||
iframe = IframeInfo();
|
||||
iframe!.iframeIndex = 0;
|
||||
iframe!.bagNum = 0;
|
||||
iframe!.bagReceive = 0;
|
||||
growableList = [];
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user