style:调整流控制器数据类型

This commit is contained in:
liyi 2024-12-17 09:17:50 +08:00
parent 1bafcd535a
commit fdd4461f90
3 changed files with 9 additions and 8 deletions

View File

@ -53,8 +53,7 @@ class UdpTalkDataHandler extends ScpMessageBaseHandle
/// h264协议的数据
void _handleVideoH264(TalkData talkData) {
final List<int> content = talkData.content;
talkDataRepository.addTalkData(content);
talkDataRepository.addTalkData(talkData);
}
///

View File

@ -13,13 +13,13 @@ class TalkDataRepository {
static TalkDataRepository get instance => _instance;
// StreamController
final StreamController<List<int>> _talkDataStreamController = StreamController<List<int>>.broadcast();
final StreamController<TalkData> _talkDataStreamController = StreamController<TalkData>.broadcast();
// Stream
Stream<List<int>> get talkDataStream => _talkDataStreamController.stream;
Stream<TalkData> get talkDataStream => _talkDataStreamController.stream;
// TalkData Stream
void addTalkData(List<int> talkData) {
void addTalkData(TalkData talkData) {
_talkDataStreamController.add(talkData);
}

View File

@ -5,6 +5,7 @@ import 'package:flutter/services.dart' show ByteData, Uint8List, rootBundle;
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/talk/startChart/handle/other/talk_data_repository.dart';
import 'package:star_lock/talk/startChart/proto/talk_data.pbserver.dart';
import 'package:star_lock/tools/titleAppBar.dart';
import 'package:webview_flutter/webview_flutter.dart';
@ -70,15 +71,16 @@ class _H264WebViewState extends State<H264WebView> {
current++;
List<int> frameData = byteData.sublist(start, end);
if (frameData.length == 0) timer.cancel();
talkDataRepository.addTalkData(frameData);
talkDataRepository.addTalkData(TalkData(contentType: TalkData_ContentTypeE.H264,content: frameData));
start = end;
});
}
void _sendFramesToHtml() async {
//
talkDataRepository.talkDataStream.listen((event) async {
_buffer.addAll(event);
talkDataRepository.talkDataStream.listen((TalkData event) async {
_buffer.addAll(event.content);
});
// 800ms的数据
_sendTimer ??= Timer.periodic(