diff --git a/lib/talk/starChart/views/native/talk_view_native_decode_logic.dart b/lib/talk/starChart/views/native/talk_view_native_decode_logic.dart index 9a646dfc..942e8c12 100644 --- a/lib/talk/starChart/views/native/talk_view_native_decode_logic.dart +++ b/lib/talk/starChart/views/native/talk_view_native_decode_logic.dart @@ -814,6 +814,7 @@ class TalkViewNativeDecodeLogic extends BaseGetXController { // 切换清晰度的方法,后续补充具体实现 void onQualityChanged(String quality) async { state.currentQuality.value = quality; + state.isLoading.value = true; // 立即显示加载状态 TalkExpectReq talkExpectReq = StartChartManage().getDefaultTalkExpect(); final audioType = talkExpectReq.audioType; int width = 864; @@ -837,6 +838,8 @@ class TalkViewNativeDecodeLogic extends BaseGetXController { break; } + // 立即重置解码器 + await _resetDecoderForNewStream(width, height); /// 修改发送预期数据 StartChartManage().changeTalkExpectDataTypeAndReStartTalkExpectMessageTimer(talkExpect: talkExpectReq); @@ -870,7 +873,7 @@ class TalkViewNativeDecodeLogic extends BaseGetXController { } // 等待一小段时间确保资源释放完成 - await Future.delayed(Duration(milliseconds: 100)); + await Future.delayed(Duration(milliseconds: 50)); // 创建新的解码器配置 final config = VideoDecoderConfig(