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();