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协议的数据 /// h264协议的数据
void _handleVideoH264(TalkData talkData) { void _handleVideoH264(TalkData talkData) {
final List<int> content = talkData.content; talkDataRepository.addTalkData(talkData);
talkDataRepository.addTalkData(content);
} }
/// ///

View File

@ -13,13 +13,13 @@ class TalkDataRepository {
static TalkDataRepository get instance => _instance; static TalkDataRepository get instance => _instance;
// StreamController // StreamController
final StreamController<List<int>> _talkDataStreamController = StreamController<List<int>>.broadcast(); final StreamController<TalkData> _talkDataStreamController = StreamController<TalkData>.broadcast();
// Stream // Stream
Stream<List<int>> get talkDataStream => _talkDataStreamController.stream; Stream<TalkData> get talkDataStream => _talkDataStreamController.stream;
// TalkData Stream // TalkData Stream
void addTalkData(List<int> talkData) { void addTalkData(TalkData talkData) {
_talkDataStreamController.add(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:flutter_screenutil/flutter_screenutil.dart';
import 'package:star_lock/app_settings/app_colors.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/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:star_lock/tools/titleAppBar.dart';
import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter/webview_flutter.dart';
@ -70,15 +71,16 @@ class _H264WebViewState extends State<H264WebView> {
current++; current++;
List<int> frameData = byteData.sublist(start, end); List<int> frameData = byteData.sublist(start, end);
if (frameData.length == 0) timer.cancel(); if (frameData.length == 0) timer.cancel();
talkDataRepository.addTalkData(frameData);
talkDataRepository.addTalkData(TalkData(contentType: TalkData_ContentTypeE.H264,content: frameData));
start = end; start = end;
}); });
} }
void _sendFramesToHtml() async { void _sendFramesToHtml() async {
// //
talkDataRepository.talkDataStream.listen((event) async { talkDataRepository.talkDataStream.listen((TalkData event) async {
_buffer.addAll(event); _buffer.addAll(event.content);
}); });
// 800ms的数据 // 800ms的数据
_sendTimer ??= Timer.periodic( _sendTimer ??= Timer.periodic(