fix:增加p2p代码,调整对讲页面的国际化内容
This commit is contained in:
parent
f1c66ec95a
commit
e13313bd31
@ -59,10 +59,15 @@ class UdpRbcuInfoHandler extends ScpMessageBaseHandle
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
void handleResp(ScpMessage scpMessage) {
|
void handleResp(ScpMessage scpMessage) {
|
||||||
|
final RbcuInfo rbcuInfo = scpMessage.Payload;
|
||||||
final GenericResp genericResp = scpMessage.Payload;
|
final GenericResp genericResp = scpMessage.Payload;
|
||||||
if (checkGenericRespSuccess(genericResp)) {
|
if (checkGenericRespSuccess(genericResp)) {
|
||||||
// 收到回复之后停止重发
|
// 收到回复之后停止重发
|
||||||
startChartManage.stopSendingRbcuInfoMessages();
|
startChartManage.stopSendingRbcuInfoMessages();
|
||||||
|
if (rbcuInfo.isResp) {
|
||||||
|
// 如果是回复的消息
|
||||||
|
_handleResultRbcuInfo(rbcuInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -70,5 +75,6 @@ class UdpRbcuInfoHandler extends ScpMessageBaseHandle
|
|||||||
void _handleResultRbcuInfo(RbcuInfo rbcuInfo) {
|
void _handleResultRbcuInfo(RbcuInfo rbcuInfo) {
|
||||||
startChartManage.rbcuInfo = rbcuInfo;
|
startChartManage.rbcuInfo = rbcuInfo;
|
||||||
startChartManage.stopSendingRbcuInfoMessages();
|
startChartManage.stopSendingRbcuInfoMessages();
|
||||||
|
startChartManage.startSendingRbcuProbeTMessages();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,6 +40,9 @@ class UdpTalkAcceptHandler extends ScpMessageBaseHandle
|
|||||||
// 同意接听之后,停止对讲请求超时监听定时器
|
// 同意接听之后,停止对讲请求超时监听定时器
|
||||||
talkeRequestOverTimeTimerManager.renew();
|
talkeRequestOverTimeTimerManager.renew();
|
||||||
talkeRequestOverTimeTimerManager.cancel();
|
talkeRequestOverTimeTimerManager.cancel();
|
||||||
|
// 启动发送rbcuInfo数据
|
||||||
|
startChartManage.startSendingRbcuInfoMessages(
|
||||||
|
ToPeerId: startChartManage.lockPeerId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,9 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle
|
|||||||
factory UdpTalkDataHandler() {
|
factory UdpTalkDataHandler() {
|
||||||
return _instance;
|
return _instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
UdpTalkDataHandler._internal();
|
UdpTalkDataHandler._internal();
|
||||||
|
|
||||||
static final UdpTalkDataHandler _instance = UdpTalkDataHandler._internal();
|
static final UdpTalkDataHandler _instance = UdpTalkDataHandler._internal();
|
||||||
|
|
||||||
int _recentRecvDataRate = 0;
|
int _recentRecvDataRate = 0;
|
||||||
@ -157,7 +159,7 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle
|
|||||||
final TalkDataH264Frame talkDataH264Frame = TalkDataH264Frame();
|
final TalkDataH264Frame talkDataH264Frame = TalkDataH264Frame();
|
||||||
talkDataH264Frame.mergeFromBuffer(talkData.content);
|
talkDataH264Frame.mergeFromBuffer(talkData.content);
|
||||||
// AppLog.log('H264 TalkData :$talkDataH264Frame');
|
// AppLog.log('H264 TalkData :$talkDataH264Frame');
|
||||||
talkDataRepository.addTalkData(talkData);
|
// talkDataRepository.addTalkData(talkData);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 处理图片数据
|
/// 处理图片数据
|
||||||
|
|||||||
@ -34,6 +34,8 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle
|
|||||||
talkDataOverTimeTimerManager.cancel();
|
talkDataOverTimeTimerManager.cancel();
|
||||||
|
|
||||||
EasyLoading.showToast('已挂断'.tr);
|
EasyLoading.showToast('已挂断'.tr);
|
||||||
|
startChartManage.stopSendingRbcuInfoMessages();
|
||||||
|
startChartManage.stopSendingRbcuProBeMessages();
|
||||||
Get.back();
|
Get.back();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -49,6 +51,8 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle
|
|||||||
talkeRequestOverTimeTimerManager.cancel();
|
talkeRequestOverTimeTimerManager.cancel();
|
||||||
talkePingOverTimeTimerManager.cancel();
|
talkePingOverTimeTimerManager.cancel();
|
||||||
talkDataOverTimeTimerManager.cancel();
|
talkDataOverTimeTimerManager.cancel();
|
||||||
|
startChartManage.stopSendingRbcuInfoMessages();
|
||||||
|
startChartManage.stopSendingRbcuProBeMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -31,6 +31,8 @@ class UdpTalkRejectHandler extends ScpMessageBaseHandle
|
|||||||
talkeRequestOverTimeTimerManager.cancel();
|
talkeRequestOverTimeTimerManager.cancel();
|
||||||
talkePingOverTimeTimerManager.cancel();
|
talkePingOverTimeTimerManager.cancel();
|
||||||
talkDataOverTimeTimerManager.cancel();
|
talkDataOverTimeTimerManager.cancel();
|
||||||
|
startChartManage.stopSendingRbcuInfoMessages();
|
||||||
|
startChartManage.stopSendingRbcuProBeMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -43,6 +45,8 @@ class UdpTalkRejectHandler extends ScpMessageBaseHandle
|
|||||||
talkeRequestOverTimeTimerManager.cancel();
|
talkeRequestOverTimeTimerManager.cancel();
|
||||||
talkePingOverTimeTimerManager.cancel();
|
talkePingOverTimeTimerManager.cancel();
|
||||||
talkDataOverTimeTimerManager.cancel();
|
talkDataOverTimeTimerManager.cancel();
|
||||||
|
startChartManage.stopSendingRbcuInfoMessages();
|
||||||
|
startChartManage.stopSendingRbcuProBeMessages();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -33,6 +33,8 @@ class TalkDataOverTimeTimerManager {
|
|||||||
StartChartManage().sendTalkHangupMessage();
|
StartChartManage().sendTalkHangupMessage();
|
||||||
StartChartManage().stopTalkPingMessageTimer();
|
StartChartManage().stopTalkPingMessageTimer();
|
||||||
StartChartManage().stopTalkExpectMessageTimer();
|
StartChartManage().stopTalkExpectMessageTimer();
|
||||||
|
StartChartManage().stopSendingRbcuInfoMessages();
|
||||||
|
StartChartManage().stopSendingRbcuProBeMessages();
|
||||||
talkStatus.setNotTalkData();
|
talkStatus.setNotTalkData();
|
||||||
talkStatus.setEnd();
|
talkStatus.setEnd();
|
||||||
AudioPlayerManager().stopRingtone();
|
AudioPlayerManager().stopRingtone();
|
||||||
|
|||||||
@ -37,6 +37,8 @@ class TalkePingOverTimeTimerManager {
|
|||||||
StartChartManage().stopTalkExpectMessageTimer();
|
StartChartManage().stopTalkExpectMessageTimer();
|
||||||
// 如果通话异常,则发送通话中挂断
|
// 如果通话异常,则发送通话中挂断
|
||||||
StartChartManage().sendTalkHangupMessage();
|
StartChartManage().sendTalkHangupMessage();
|
||||||
|
StartChartManage().stopSendingRbcuInfoMessages();
|
||||||
|
StartChartManage().stopSendingRbcuProBeMessages();
|
||||||
talkStatus.setNotTalkPing();
|
talkStatus.setNotTalkPing();
|
||||||
talkStatus.setEnd();
|
talkStatus.setEnd();
|
||||||
Get.back();
|
Get.back();
|
||||||
|
|||||||
@ -32,6 +32,8 @@ class TalkeRequestOverTimeTimerManager {
|
|||||||
EasyLoading.showToast('通话未接通,已挂断'.tr, duration: 2000.milliseconds);
|
EasyLoading.showToast('通话未接通,已挂断'.tr, duration: 2000.milliseconds);
|
||||||
// 超时未接听,发送挂断请求
|
// 超时未接听,发送挂断请求
|
||||||
StartChartManage().sendTalkRejectMessage();
|
StartChartManage().sendTalkRejectMessage();
|
||||||
|
StartChartManage().stopSendingRbcuInfoMessages();
|
||||||
|
StartChartManage().stopSendingRbcuProBeMessages();
|
||||||
talkStatus.setInitializationCompleted();
|
talkStatus.setInitializationCompleted();
|
||||||
Get.back();
|
Get.back();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -314,9 +314,10 @@ class StartChartManage {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
final info = rbcuInfo = RbcuInfo(address: ['119.137.55.161:62289']);
|
if (rbcuInfo != null &&
|
||||||
if (info != null && info.address != null && info.address.length > 0) {
|
rbcuInfo!.address != null &&
|
||||||
info.address.forEach((element) {
|
rbcuInfo!.address.length > 0) {
|
||||||
|
rbcuInfo!.address.forEach((element) {
|
||||||
// 拆分 element 字符串
|
// 拆分 element 字符串
|
||||||
final parts = element.split(':');
|
final parts = element.split(':');
|
||||||
final host = parts[0]; // IP 地址
|
final host = parts[0]; // IP 地址
|
||||||
@ -345,6 +346,7 @@ class StartChartManage {
|
|||||||
rbcuInfoTimer ??=
|
rbcuInfoTimer ??=
|
||||||
Timer.periodic(Duration(seconds: _defaultIntervalTime), (timer) {
|
Timer.periodic(Duration(seconds: _defaultIntervalTime), (timer) {
|
||||||
// 发送RbcuInfo 地址交换消息
|
// 发送RbcuInfo 地址交换消息
|
||||||
|
_log(text: '发送RbcuInfo 地址交换消息');
|
||||||
_sendRbcuInfoMessage(ToPeerId: ToPeerId);
|
_sendRbcuInfoMessage(ToPeerId: ToPeerId);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -585,6 +587,8 @@ class StartChartManage {
|
|||||||
stopTalkExpectMessageTimer();
|
stopTalkExpectMessageTimer();
|
||||||
stopTalkPingMessageTimer();
|
stopTalkPingMessageTimer();
|
||||||
stopCallRequestMessageTimer();
|
stopCallRequestMessageTimer();
|
||||||
|
stopSendingRbcuInfoMessages();
|
||||||
|
stopSendingRbcuProBeMessages();
|
||||||
// 取消定时器
|
// 取消定时器
|
||||||
|
|
||||||
talkePingOverTimeTimerManager.cancel();
|
talkePingOverTimeTimerManager.cancel();
|
||||||
@ -665,6 +669,8 @@ class StartChartManage {
|
|||||||
stopTalkExpectMessageTimer();
|
stopTalkExpectMessageTimer();
|
||||||
stopTalkPingMessageTimer();
|
stopTalkPingMessageTimer();
|
||||||
stopCallRequestMessageTimer();
|
stopCallRequestMessageTimer();
|
||||||
|
stopSendingRbcuInfoMessages();
|
||||||
|
stopSendingRbcuProBeMessages();
|
||||||
// 取消定时器
|
// 取消定时器
|
||||||
talkePingOverTimeTimerManager.cancel();
|
talkePingOverTimeTimerManager.cancel();
|
||||||
talkDataOverTimeTimerManager.cancel();
|
talkDataOverTimeTimerManager.cancel();
|
||||||
@ -1101,7 +1107,7 @@ class StartChartManage {
|
|||||||
bluetoothDeviceName: bluetoothDeviceName,
|
bluetoothDeviceName: bluetoothDeviceName,
|
||||||
bleStructData: bleStructData,
|
bleStructData: bleStructData,
|
||||||
);
|
);
|
||||||
await _sendMessage(message: message);
|
await _sendMessage(message: message);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 销毁资源
|
/// 销毁资源
|
||||||
|
|||||||
@ -58,6 +58,7 @@ class _TalkViewPageState extends State<TalkViewPage>
|
|||||||
|
|
||||||
// _latencyStream = measureServerLatencyStream(F.apiPrefix); // 替换为你的服务器地址
|
// _latencyStream = measureServerLatencyStream(F.apiPrefix); // 替换为你的服务器地址
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Stream<int> measureServerLatencyStream(String url) async* {
|
// Stream<int> measureServerLatencyStream(String url) async* {
|
||||||
// while (true) {
|
// while (true) {
|
||||||
@ -155,7 +156,7 @@ class _TalkViewPageState extends State<TalkViewPage>
|
|||||||
),
|
),
|
||||||
Obx(() => state.listData.value.isEmpty
|
Obx(() => state.listData.value.isEmpty
|
||||||
? Positioned(
|
? Positioned(
|
||||||
bottom: 300.h,
|
bottom: 310.h,
|
||||||
child: Text(
|
child: Text(
|
||||||
'正在创建安全连接...'.tr,
|
'正在创建安全连接...'.tr,
|
||||||
style: TextStyle(color: Colors.black, fontSize: 26.sp),
|
style: TextStyle(color: Colors.black, fontSize: 26.sp),
|
||||||
@ -509,13 +510,17 @@ class _TalkViewPageState extends State<TalkViewPage>
|
|||||||
onLongPress: longPress,
|
onLongPress: longPress,
|
||||||
onLongPressUp: longPressUp,
|
onLongPressUp: longPressUp,
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
height: 140.h,
|
height: 160.w,
|
||||||
|
width: 140.w,
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Container(
|
Container(
|
||||||
width: wh,
|
width: wh,
|
||||||
height: wh,
|
height: wh,
|
||||||
|
constraints: BoxConstraints(
|
||||||
|
minWidth: wh,
|
||||||
|
),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: backgroundColor,
|
color: backgroundColor,
|
||||||
borderRadius: BorderRadius.circular((wh + 10.w * 2) / 2),
|
borderRadius: BorderRadius.circular((wh + 10.w * 2) / 2),
|
||||||
@ -524,10 +529,11 @@ class _TalkViewPageState extends State<TalkViewPage>
|
|||||||
child: Image.asset(iconUrl, fit: BoxFit.fitWidth),
|
child: Image.asset(iconUrl, fit: BoxFit.fitWidth),
|
||||||
),
|
),
|
||||||
SizedBox(height: 20.w),
|
SizedBox(height: 20.w),
|
||||||
Expanded(
|
Text(
|
||||||
child: Text(name,
|
name,
|
||||||
style: TextStyle(fontSize: 20.sp, color: Colors.white),
|
style: TextStyle(fontSize: 20.sp, color: Colors.white),
|
||||||
textAlign: TextAlign.center),
|
textAlign: TextAlign.center, // 当文本超出指定行数时,使用省略号表示
|
||||||
|
maxLines: 2, // 设置最大行数为1
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user