diff --git a/assets/html/h264.html b/assets/html/h264.html index 0995b612..60ec7039 100644 --- a/assets/html/h264.html +++ b/assets/html/h264.html @@ -29,8 +29,8 @@ #player { object-fit: cover; - height: 56vh; - transform: rotate(-90deg); + width: 100vw; + height: 100vh; } diff --git a/lib/talk/starChart/handle/impl/udp_talk_expect_handler.dart b/lib/talk/starChart/handle/impl/udp_talk_expect_handler.dart index d1c83e77..3d8e078d 100644 --- a/lib/talk/starChart/handle/impl/udp_talk_expect_handler.dart +++ b/lib/talk/starChart/handle/impl/udp_talk_expect_handler.dart @@ -41,6 +41,7 @@ class UdpTalkExpectHandler extends ScpMessageBaseHandle // 停止发送对讲请求 startChartManage.stopCallRequestMessageTimer(); // talkViewState.rotateAngle.value = talkExpectResp.rotate ?? 0; + startChartManage.rotateAngle = talkExpectResp.rotate; // 收到预期数据的应答后,代表建立了连接,启动通话保持的监听 // 启动通话保持监听定时器(用来判断如果x秒内没有收到通话保持则执行的操作); talkePingOverTimeTimerManager.start(); diff --git a/lib/talk/starChart/star_chart_manage.dart b/lib/talk/starChart/star_chart_manage.dart index 1fb79272..5018bac5 100644 --- a/lib/talk/starChart/star_chart_manage.dart +++ b/lib/talk/starChart/star_chart_manage.dart @@ -112,6 +112,8 @@ class StartChartManage { RbcuConfirm? rbcuConfirm; final int _maxPayloadSize = 8 * 1024; // 分包大小 + int rotateAngle = 0; // 视频旋转角度 + // 默认通话的期望数据格式 TalkExpectReq _defaultTalkExpect = TalkConstant.H264Expect; diff --git a/lib/talk/starChart/views/talkView/talk_view_page.dart b/lib/talk/starChart/views/talkView/talk_view_page.dart index 38b22343..38dd4896 100644 --- a/lib/talk/starChart/views/talkView/talk_view_page.dart +++ b/lib/talk/starChart/views/talkView/talk_view_page.dart @@ -12,6 +12,7 @@ import 'package:star_lock/talk/call/callTalk.dart'; import 'package:star_lock/talk/starChart/constant/talk_status.dart'; import 'package:star_lock/talk/starChart/handle/impl/debug_Info_model.dart'; import 'package:star_lock/talk/starChart/handle/impl/udp_talk_data_handler.dart'; +import 'package:star_lock/talk/starChart/star_chart_manage.dart'; import 'package:star_lock/talk/starChart/views/talkView/talk_view_logic.dart'; import 'package:star_lock/talk/starChart/views/talkView/talk_view_state.dart'; @@ -30,6 +31,7 @@ class _TalkViewPageState extends State final TalkViewLogic logic = Get.put(TalkViewLogic()); final TalkViewState state = Get.find().state; late Stream _latencyStream; + final startChartManage = StartChartManage(); @override void initState() { @@ -132,7 +134,7 @@ class _TalkViewPageState extends State key: state.globalKey, child: SizedBox.expand( child: RotatedBox( - quarterTurns: -1, + quarterTurns: startChartManage.remotePort ~/ 90, child: Obx( () => state.currentImage.value != null ? RawImage( diff --git a/lib/talk/starChart/webView/h264_web_view.dart b/lib/talk/starChart/webView/h264_web_view.dart index aa18aa3c..03f97609 100644 --- a/lib/talk/starChart/webView/h264_web_view.dart +++ b/lib/talk/starChart/webView/h264_web_view.dart @@ -26,6 +26,7 @@ class _H264WebViewState extends State with TickerProviderStateMixin { final H264WebViewLogic logic = Get.put(H264WebViewLogic()); final H264WebViewState state = Get.find().state; + final startChartManage = StartChartManage(); @override void initState() { @@ -72,8 +73,13 @@ class _H264WebViewState extends State height: screenHeight, fit: BoxFit.cover, ) - : WebViewWidget( - controller: state.webViewController, + : SizedBox.expand( + child: RotatedBox( + quarterTurns: startChartManage.remotePort ~/ 90, + child: WebViewWidget( + controller: state.webViewController, + ), + ), ); }), Obx( @@ -412,6 +418,7 @@ class _H264WebViewState extends State ), ); } + @override void dispose() { state.animationController.dispose();