This commit is contained in:
魏少阳 2024-01-08 11:32:39 +08:00
commit b8278db9ef
9 changed files with 192 additions and 123 deletions

View File

@ -27,7 +27,8 @@ class LockDetailPage extends StatefulWidget {
State<LockDetailPage> createState() => _LockDetailPageState();
}
class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStateMixin, RouteAware {
class _LockDetailPageState extends State<LockDetailPage>
with TickerProviderStateMixin, RouteAware {
// with RouteAware
final logic = Get.put(LockDetailLogic());
final state = Get.find<LockDetailLogic>().state;
@ -42,22 +43,27 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
state.lockUserNo = state.keyInfos.value.lockUserNo!;
state.senderUserId = state.keyInfos.value.senderUserId!;
state.isAttendance.value = state.keyInfos.value.lockSetting!.attendance!;
state.isOpenLockNeedOnline.value = state.keyInfos.value.lockSetting!.appUnlockOnline!;
state.isOpenLockNeedOnline.value =
state.keyInfos.value.lockSetting!.appUnlockOnline!;
state.electricQuantity.value = state.keyInfos.value.electricQuantity!;
BlueManage().connectDeviceName = state.keyInfos.value.bluetooth!.bluetoothDeviceName!;
BlueManage().connectDeviceName =
state.keyInfos.value.bluetooth!.bluetoothDeviceName!;
List<int> publicKeyData = state.keyInfos.value.bluetooth!.publicKey!.cast<int>();
List<int> publicKeyData =
state.keyInfos.value.bluetooth!.publicKey!.cast<int>();
var saveStrList = changeIntListToStringList(publicKeyData);
Storage.setStringList(saveBluePublicKey, saveStrList);
//
List<int> privateKeyData = state.keyInfos.value.bluetooth!.privateKey!.cast<int>();
List<int> privateKeyData =
state.keyInfos.value.bluetooth!.privateKey!.cast<int>();
var savePrivateKeyList = changeIntListToStringList(privateKeyData);
Storage.setStringList(saveBluePrivateKey, savePrivateKeyList);
// signKey
List<int> signKeyData = state.keyInfos.value.bluetooth!.signKey!.cast<int>();
List<int> signKeyData =
state.keyInfos.value.bluetooth!.signKey!.cast<int>();
var saveSignKeyList = changeIntListToStringList(signKeyData);
Storage.setStringList(saveBlueSignKey, saveSignKeyList);
@ -70,34 +76,32 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
@override
Widget build(BuildContext context) {
return Stack(
children: [
Container(
width: 1.sw,
height: 1.sh - ScreenUtil().statusBarHeight * 2,
color: Colors.white,
child: Column(
children: [
topWidget(),
Expanded(child: Obx(() => bottomWidget())),
],
),
return Stack(children: [
Container(
width: 1.sw,
height: 1.sh - ScreenUtil().statusBarHeight * 2,
color: Colors.white,
child: Column(
children: [
topWidget(),
Expanded(child: Obx(() => bottomWidget())),
],
),
Obx(() => Visibility(
visible: state.iSClosedUnlockSuccessfulPopup.value,
child: GestureDetector(
onTap: (){
state.iSClosedUnlockSuccessfulPopup.value = false;
},
child: Container(
width: 1.sw,
height: 1.sh,
color: Colors.black.withOpacity(0.3),
child: _unlockSuccessWidget()),
),
))
]
);
),
Obx(() => Visibility(
visible: state.iSClosedUnlockSuccessfulPopup.value,
child: GestureDetector(
onTap: () {
state.iSClosedUnlockSuccessfulPopup.value = false;
},
child: Container(
width: 1.sw,
height: 1.sh,
color: Colors.black.withOpacity(0.3),
child: _unlockSuccessWidget()),
),
))
]);
}
Widget topWidget() {
@ -111,20 +115,27 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
SizedBox(
width: 1.sw - 120.w * 2,
child: Center(
child:
Text(widget.lockListInfoItemEntity.lockAlias!, style: TextStyle(fontSize: 22.sp, fontWeight: FontWeight.w400),
child: Text(
widget.lockListInfoItemEntity.lockAlias!,
style:
TextStyle(fontSize: 22.sp, fontWeight: FontWeight.w400),
))),
Positioned(
child: Obx(() => Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text("${state.electricQuantity.value}%", style: TextStyle(fontSize: 18.sp, color: AppColors.darkGrayTextColor)),
SizedBox(width: 2.w),
Image.asset(showElectricIcon(state.electricQuantity.value), width: 30.w, height: 24.w),
SizedBox(width: 30.w),
],
))
)
mainAxisAlignment: MainAxisAlignment.end,
children: [
Text("${state.electricQuantity.value}%",
style: TextStyle(
fontSize: 18.sp,
color: AppColors.darkGrayTextColor)),
SizedBox(width: 2.w),
Image.asset(
showElectricIcon(state.electricQuantity.value),
width: 30.w,
height: 24.w),
SizedBox(width: 30.w),
],
)))
],
),
SizedBox(height: 30.h),
@ -136,7 +147,7 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
children: [
Center(
child: GestureDetector(
child: Obx(() => Stack(
child: Obx(() => Stack(
children: [
Image.asset(
// state.connectState.value == 0 ? 'images/main/icon_main_openLockBtn_grey.png' : 'images/main/icon_main_openLockBtn_center.png',
@ -154,14 +165,14 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
)),
],
)),
onTap: () {
// Get.log("点击开锁");
logic.startOpenLock();
},
onLongPressStart: (details) {
Get.log("长按开锁");
// logic.startConnect();
},
onTap: () {
// Get.log("点击开锁");
logic.startOpenLock();
},
onLongPressStart: (details) {
Get.log("长按开锁");
// logic.startConnect();
},
)),
],
),
@ -214,7 +225,9 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
Text(
state.keyInfos.value.isLockOwner == 1
? TranslationLoader.lanKeys!.superAdmin!.tr
: (state.keyInfos.value.keyRight == 1 ? TranslationLoader.lanKeys!.authorizedAdmin!.tr: TranslationLoader.lanKeys!.normalUser!.tr),
: (state.keyInfos.value.keyRight == 1
? TranslationLoader.lanKeys!.authorizedAdmin!.tr
: TranslationLoader.lanKeys!.normalUser!.tr),
style: TextStyle(
fontSize: 20.sp, color: AppColors.darkGrayTextColor),
),
@ -290,11 +303,12 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
}
//
List<Widget> getBottomWidget(){
if(state.keyInfos.value.isLockOwner == 1 || state.keyInfos.value.keyRight == 1){
List<Widget> getBottomWidget() {
if (state.keyInfos.value.isLockOwner == 1 ||
state.keyInfos.value.keyRight == 1) {
//
return getAllWidget();
}else{
} else {
return getNormalWidget();
}
}
@ -305,12 +319,14 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
//
bottomItem('images/main/icon_main_operatingRecord.png',
TranslationLoader.lanKeys!.operatingRecord!.tr, () {
Get.toNamed(Routers.lockOperatingRecordPage,
arguments: {"keyInfo": widget.lockListInfoItemEntity});
}),
Get.toNamed(Routers.lockOperatingRecordPage,
arguments: {"keyInfo": widget.lockListInfoItemEntity});
}),
//
bottomItem('images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr, () {
bottomItem(
'images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr,
() {
// BlueManage().stopScan();
Get.toNamed(Routers.lockSetPage,
arguments: {"lockId": widget.lockListInfoItemEntity.lockId});
@ -376,7 +392,8 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
//->
if (state.keyInfos.value.lockFeature!.d3Face == 1) {
showWidgetArr.add(
bottomItem('images/main/icon_face.png', TranslationLoader.lanKeys!.humanFace!.tr, () {
bottomItem('images/main/icon_face.png',
TranslationLoader.lanKeys!.humanFace!.tr, () {
Get.toNamed(Routers.faceList, arguments: {
"lockId": widget.lockListInfoItemEntity.lockId,
}); // Toast.show(msg: "功能暂未开放");
@ -395,7 +412,7 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
bottomItem('images/main/icon_catEyes.png',
TranslationLoader.lanKeys!.monitoring!.tr, () {
Get.toNamed(Routers.realTimePicturePage, arguments: {
"lockId": widget.lockListInfoItemEntity.lockId,
"lockName": widget.lockListInfoItemEntity.lockName,
"isMonitoring": true
});
}),
@ -416,16 +433,20 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
arguments: {"keyInfo": widget.lockListInfoItemEntity});
}),
//
bottomItem('images/main/icon_lockDetail_videoLog.png', TranslationLoader.lanKeys!.videoLog!.tr, () {
bottomItem('images/main/icon_lockDetail_videoLog.png',
TranslationLoader.lanKeys!.videoLog!.tr, () {
//
Get.toNamed(Routers.videoLogPage);
}),
//
bottomItem('images/main/icon_lockDetail_messageReminding.png', TranslationLoader.lanKeys!.messageReminding!.tr, () {
bottomItem('images/main/icon_lockDetail_messageReminding.png',
TranslationLoader.lanKeys!.messageReminding!.tr, () {
Get.toNamed(Routers.msgNotificationPage);
}),
//
bottomItem('images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr, () {
bottomItem(
'images/main/icon_main_set.png', TranslationLoader.lanKeys!.set!.tr,
() {
// BlueManage().stopScan();
Get.toNamed(Routers.lockSetPage,
arguments: {"lockId": widget.lockListInfoItemEntity.lockId});
@ -484,16 +505,16 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
// logic.connectBlueAndAnimationController();
}
String showElectricIcon (int electricnumber){
if(electricnumber >= 100){
String showElectricIcon(int electricnumber) {
if (electricnumber >= 100) {
return 'images/main/icon_lockElectricLevel_5.png';
}else if((electricnumber > 50) && (electricnumber < 100)){
} else if ((electricnumber > 50) && (electricnumber < 100)) {
return 'images/main/icon_lockElectricLevel_4.png';
}else if((electricnumber > 25) && (electricnumber <= 50)){
} else if ((electricnumber > 25) && (electricnumber <= 50)) {
return 'images/main/icon_lockElectricLevel_3.png';
}else if((electricnumber > 5) && (electricnumber <= 25)){
} else if ((electricnumber > 5) && (electricnumber <= 25)) {
return 'images/main/icon_lockElectricLevel_2.png';
}else if(electricnumber <= 5){
} else if (electricnumber <= 5) {
return 'images/main/icon_lockElectricLevel_1.png';
}
return 'images/main/icon_lockElectricLevel_5.png';
@ -631,6 +652,4 @@ class _LockDetailPageState extends State<LockDetailPage> with TickerProviderStat
state.animationController.reset();
state.animationController.forward();
}
}

View File

@ -58,7 +58,7 @@ class RealTimePictureLogic extends BaseGetXController {
command: 150,
commandTypeIsCalling: 1,
subCommand: 30,
lockID: state.getLockID.value,
lockID: state.getLockName.value,
lockIP: UDPManage().host,
userMobile: await state.userMobile,
userMobileIP: await state.userMobileIP,
@ -79,7 +79,7 @@ class RealTimePictureLogic extends BaseGetXController {
command: 152,
commandTypeIsCalling: 1,
subCommand: 20,
lockID: state.getLockID.value,
lockID: state.getLockName.value,
lockIP: UDPManage().host,
userMobile: await state.userMobile,
userMobileIP: await state.userMobileIP,
@ -92,11 +92,12 @@ class RealTimePictureLogic extends BaseGetXController {
command: 152,
commandTypeIsCalling: 1,
subCommand: 1,
lockID: state.getLockID.value,
lockID: state.getLockName.value,
lockIP: UDPManage().host,
userMobile: await state.userMobile,
userMobileIP: await state.userMobileIP,
endData: []);
// print('得到lockName------${state.getLockName.value}');
}
///

View File

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -40,12 +42,24 @@ class _RealTimePicturePageState extends State<RealTimePicturePage>
}
});
// 10
Future.delayed(const Duration(seconds: 10), () {
state.animationController.stop();
});
initiateUdpMonitorAction();
}
logic.udpMonitorAction();
//
void initiateUdpMonitorAction() {
// udpMonitorAction
state.realTimePicTimer =
Timer.periodic(const Duration(seconds: 1), (timer) {
state.elapsedSeconds++;
logic.udpMonitorAction();
// 30
if (state.elapsedSeconds >= 30) {
state.realTimePicTimer.cancel(); //
_handleFailure();
}
});
}
@override
@ -70,12 +84,14 @@ class _RealTimePicturePageState extends State<RealTimePicturePage>
height: 1.sh,
fit: BoxFit.cover,
)),
Positioned(
bottom: 300.h,
child: Text(
'正在创建安全连接...',
style: TextStyle(color: Colors.black, fontSize: 26.sp),
)),
Obx(() => state.listData.value.isEmpty
? Positioned(
bottom: 300.h,
child: Text(
'正在创建安全连接...',
style: TextStyle(color: Colors.black, fontSize: 26.sp),
))
: Container()),
Positioned(
bottom: 10.w,
child: Container(
@ -95,7 +111,9 @@ class _RealTimePicturePageState extends State<RealTimePicturePage>
],
),
)),
buildRotationTransition()
Obx(() => state.listData.value.isEmpty
? buildRotationTransition()
: Container())
],
),
);
@ -193,10 +211,9 @@ class _RealTimePicturePageState extends State<RealTimePicturePage>
})),
bottomBtnItemWidget(
"images/main/icon_lockDetail_hangUp.png", "挂断", Colors.red, () async {
logic.stopProcessing();
CallTalk().stopPcmSound();
//
logic.udpHangUpAction();
Get.back();
}),
bottomBtnItemWidget("images/main/icon_lockDetail_monitoringUnlock.png",
"开锁", AppColors.mainColor, () {
@ -314,11 +331,18 @@ class _RealTimePicturePageState extends State<RealTimePicturePage>
),
onTap: () {
state.animationController.forward();
initiateUdpMonitorAction();
},
),
);
}
void _handleFailure() {
//
print('Failed to get response within 30 seconds.');
state.animationController.stop();
}
@override
void dispose() {
state.animationController.dispose();

View File

@ -29,7 +29,7 @@ class RealTimePictureState {
Timer(const Duration(seconds: 1), () {}); // 60
var oneMinuteTime = 0.obs; //
var getLockID = ''.obs; //lockID
var getLockName = ''.obs; //lockName
// 10
late Timer answerTimer;
@ -37,7 +37,11 @@ class RealTimePictureState {
late Timer openDoorTimer;
late AnimationController animationController;
late Timer realTimePicTimer =
Timer(const Duration(seconds: 1), () {}); //
var elapsedSeconds = 0.obs;
RealTimePictureState() {
getLockID.value = Get.arguments["lockId"].toString();
getLockName.value = Get.arguments["lockName"].toString();
}
}

View File

@ -406,5 +406,6 @@ class LockMonitoringLogic extends BaseGetXController {
state.oneMinuteTimeTimer.cancel();
}
stopProcessing();
state.listData.value = Uint8List(0);
}
}

View File

@ -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;

View File

@ -1,6 +1,6 @@
abstract class Api {
static String baseAddress = "https://pre.lock.star-lock.cn:8093"; //
// static String baseAddress = "http://192.168.56.101:8099"; //
// static String baseAddress = "https://pre.lock.star-lock.cn:8093"; //
static String baseAddress = "http://192.168.56.101:8099"; //
// static String baseAddress = "http://192.168.1.15:8022"; //
final String baseUrl = "$baseAddress/api";
@ -27,7 +27,8 @@ abstract class Api {
'/room/uploadElectricQuantity'; //
final String lockRecordUploadURL = '/lockRecords/fromLock'; //
final String getLockRecordLastUploadDataTimeURL = '/lockRecords/getLastRecordTime'; //
final String getLockRecordLastUploadDataTimeURL =
'/lockRecords/getLastRecordTime'; //
final String getLockNetTokenURL = '/lock/getLockNetToken'; //token
final String updateLockUserNoURL = '/key/updateLockUserNo'; //NO
@ -60,12 +61,14 @@ abstract class Api {
final String lockGroupAddLockURL = '/keyGroup/addLockGroup'; //
final String lockGroupDeletLockURL = '/keyGroup/deleteLockGroup'; //
final String listLockByGroupURL = '/authorizedAdmin/listLockByGroup'; //
final String listLockByGroupURL =
'/authorizedAdmin/listLockByGroup'; //
final String setRoomStatusURL = '/lock/updateLockStatus'; //
// final String keyGroupListURL = '/keyGroup/list'; //
// final String lockListByGroupURL = '/room/listByGroup'; //
final String getWifiServiceIpURL = '/wifiLock/getWifiServiceIp'; // Wifi锁服务器
final String updateLockSettingUrl = '/lockSetting/updateLockSetting'; //
final String updateLockSettingUrl =
'/lockSetting/updateLockSetting'; //
final String roomQueryDateUrl = '/room/queryDate'; //
final String lockDiagnoseUrl = '/room/uploadLockInfo'; //
@ -76,12 +79,18 @@ abstract class Api {
final String setCheckInCreateCompanyURL =
'/attendanceCompany/add'; //
final String getAttendanceRecordListByDateURL = '/attendanceRecord/listByDate'; // -
final String getAttendanceRecordListByMonthURL = '/attendanceRecord/earlyListByMonth'; // -
final String getAttendanceRecordListLateTimesByDateURL = '/attendanceRecord/lateListByDate'; // -
final String getAttendanceRecordListLateTimesByMonthURL = '/attendanceRecord/lateEarlyListByMonth'; // -
final String getAttendanceRecordHardworkingListURL = '/attendanceRecord/listForHardworking'; // -
final String getAttendanceRecordDtailURL = '/attendanceRecord/listByMonth'; //
final String getAttendanceRecordListByDateURL =
'/attendanceRecord/listByDate'; // -
final String getAttendanceRecordListByMonthURL =
'/attendanceRecord/earlyListByMonth'; // -
final String getAttendanceRecordListLateTimesByDateURL =
'/attendanceRecord/lateListByDate'; // -
final String getAttendanceRecordListLateTimesByMonthURL =
'/attendanceRecord/lateEarlyListByMonth'; // -
final String getAttendanceRecordHardworkingListURL =
'/attendanceRecord/listForHardworking'; // -
final String getAttendanceRecordDtailURL =
'/attendanceRecord/listByMonth'; //
final String getStaffListURL = '/staff/list'; //
final String addStaffURL = '/staff/add'; //
final String editStaffURL = '/staff/update'; //
@ -96,20 +105,23 @@ abstract class Api {
final String addFingerprintURL = '/fingerprint/add'; //
final String editFingerprintURL = '/fingerprint/changePeriod'; //
final String deleteFingerprintURL = '/fingerprint/delete'; //
final String updateFingerprintUserNoURL = '/fingerprint/updateFingerprintUserNo'; //
final String updateFingerprintUserNoURL =
'/fingerprint/updateFingerprintUserNo'; //
final String getICCardListURL = '/identityCard/list'; // IC卡列表
final String addICCardURL = '/identityCard/add'; // IC卡
final String editICCardURL = '/identityCard/update'; // IC卡
final String deleteICCardURL = '/identityCard/delete'; // IC卡
final String updateICCardUserNoURL = '/identityCard/updateCardUserNo'; // ic卡用户序号
final String updateICCardUserNoURL =
'/identityCard/updateCardUserNo'; // ic卡用户序号
final String transferLockListURL = '/room/listForTransfer'; //
final String transferLockConfirmURL = '/room/transferLockConfirm'; //
final String transferLockURL = '/room/transfer'; //
final String gatewaykListURL = '/plug/list'; //
final String transferGatewayConfirmURL = '/plug/transferPlugConfirm'; //
final String transferGatewayConfirmURL =
'/plug/transferPlugConfirm'; //
final String transferGatewayURL = '/plug/transfer'; //
final String getKeyDetailURL = '/key/get'; //

View File

@ -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 = [];
}
}

View File

@ -10,8 +10,6 @@ import '../call/callTalk.dart';
import 'udp_talkClass.dart';
class CommandUDPReciverManager {
static void appDataReceive(List<int> data) async {
///
if (data.isEmpty) {
@ -33,7 +31,6 @@ class CommandUDPReciverManager {
if (data[6] == 4) {
if (data[7] == 2) {
// print("心跳包反馈 在线状态");
} else if (data[7] == 3) {
[Toast.show(msg: "您已在其他设备登录")];
}
@ -52,7 +49,7 @@ class CommandUDPReciverManager {
//
// lockId
var lockId = data.sublist(9, 29);
var lockIdStr = utf8String(lockId);
var lockIdStr = utf8String(lockId);
UDPManage().lockId = lockIdStr;
UDPTalkClass().status = 0;
UDPTalkClass().beCallW(data: data);
@ -115,10 +112,10 @@ class CommandUDPReciverManager {
}
UDPTalkClass().status = 0;
UDPTalkClass().isBeCall = false;
Get.back();
UDPTalkClass().stopLocalAudio();
CallTalk().stopPcmSound();
eventBus.fire(GetUDPStatusRefreshUI(UDPTalkClass().status));
Get.back();
}
break;
case 140:
@ -164,7 +161,9 @@ class CommandUDPReciverManager {
case 8:
{
//
//print("音视频数据");
// print("音视频数据");
CallTalk cllTalk = CallTalk();
cllTalk.getAVData(data1, data1.length);
}
break;
case 9: