app-starlock/lib/talk/startChart/handle/impl/udp_talk_data_handler.dart

66 lines
2.0 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'dart:typed_data';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:get/get.dart';
import 'package:star_lock/talk/startChart/entity/scp_message.dart';
import 'package:star_lock/talk/startChart/handle/scp_message_base_handle.dart';
import 'package:star_lock/talk/startChart/handle/scp_message_handle.dart';
import 'package:star_lock/talk/startChart/proto/gateway_reset.pb.dart';
import 'package:star_lock/talk/startChart/proto/generic.pb.dart';
import 'package:star_lock/talk/startChart/proto/talk_data.pb.dart';
import 'package:star_lock/talk/startChart/proto/talk_data.pbserver.dart';
class UdpTalkDataHandler extends ScpMessageBaseHandle
implements ScpMessageHandler {
@override
void handleReq(ScpMessage scpMessage) {}
@override
void handleResp(ScpMessage scpMessage) {}
@override
void handleInvalidReq(ScpMessage scpMessage) {}
@override
void handleRealTimeData(ScpMessage scpMessage) {
if (scpMessage.Payload != null) {
final TalkData talkData = scpMessage.Payload;
// 处理音视频数据
_handleTalkData(talkData: talkData);
print('talkData$talkData');
// 收到数据后调用更新,防止定时器超时
talkDataOverTimeTimerManager.receiveMessage();
}
}
void _handleTalkData({required TalkData talkData}) {
if (talkData == null) return;
final contentType = talkData.contentType;
switch (contentType) {
case TalkData_ContentTypeE.H264:
_handleVideoH264(talkData);
break;
case TalkData_ContentTypeE.Image:
_handleVideoImage(talkData);
break;
case TalkData_ContentTypeE.G711:
_handleVideoG711(talkData);
break;
default:
print('❌未知的TalkData--->contentType类型');
break;
}
}
/// 处理h264协议的数据
void _handleVideoH264(TalkData talkData) {
// talkDataRepository.addTalkData(talkData);
}
/// 处理图片数据
void _handleVideoImage(TalkData talkData) {}
/// 处理g711音频数据
void _handleVideoG711(TalkData talkData) {}
}