From 807c71b614abbb21813c2009be84e083a10d560e Mon Sep 17 00:00:00 2001 From: liyi Date: Thu, 10 Apr 2025 18:16:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=9B=BA=E5=AE=9A=E4=B8=BA20=E9=92=88?= =?UTF-8?q?=E7=BC=93=E5=86=B2=E5=8C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/talkView/talk_view_logic.dart | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/talk/starChart/views/talkView/talk_view_logic.dart b/lib/talk/starChart/views/talkView/talk_view_logic.dart index 05d0636c..d4fd18f5 100644 --- a/lib/talk/starChart/views/talkView/talk_view_logic.dart +++ b/lib/talk/starChart/views/talkView/talk_view_logic.dart @@ -39,7 +39,7 @@ class TalkViewLogic extends BaseGetXController { final int minBufferSize = 2; // 最小缓冲2帧,约166ms final int maxBufferSize = 8; // 最大缓冲8帧,约666ms - int bufferSize = 3; // 初始化为默认大小 + int bufferSize = 20; // 初始化为默认大小 // 修改音频相关的成员变量 final int minAudioBufferSize = 1; // 音频最小缓冲1帧 final int maxAudioBufferSize = 3; // 音频最大缓冲3帧 @@ -137,11 +137,11 @@ class TalkViewLogic extends BaseGetXController { } // AppLog.log('其他帧的时间戳:${talkData.durationMs}'); // 计算帧间间隔 - if (_lastFrameTimestamp != 0) { - final int frameInterval = talkData.durationMs - _lastFrameTimestamp; - _adjustBufferSize(frameInterval); // 根据帧间间隔调整缓冲区 - } - _lastFrameTimestamp = talkData.durationMs; // 更新上一帧时间戳 + // if (_lastFrameTimestamp != 0) { + // final int frameInterval = talkData.durationMs - _lastFrameTimestamp; + // _adjustBufferSize(frameInterval); // 根据帧间间隔调整缓冲区 + // } + // _lastFrameTimestamp = talkData.durationMs; // 更新上一帧时间戳 // 然后添加到播放缓冲区 if (state.videoBuffer.length >= bufferSize) { @@ -185,16 +185,16 @@ class TalkViewLogic extends BaseGetXController { state.videoBuffer.removeAt(oldestIndex); // 移除已播放的帧 // 更新帧率计算 - _frameCount++; - final currentTime = DateTime.now().millisecondsSinceEpoch; - final elapsed = currentTime - _lastFpsUpdateTime; - - if (elapsed >= 1000) { - // 每秒更新一次 - state.fps.value = (_frameCount * 1000 / elapsed).round(); - _frameCount = 0; - _lastFpsUpdateTime = currentTime; - } + // _frameCount++; + // final currentTime = DateTime.now().millisecondsSinceEpoch; + // final elapsed = currentTime - _lastFpsUpdateTime; + // + // if (elapsed >= 1000) { + // // 每秒更新一次 + // state.fps.value = (_frameCount * 1000 / elapsed).round(); + // _frameCount = 0; + // _lastFpsUpdateTime = currentTime; + // } // AppLog.log('🎬 播放帧 - 缓冲区剩余: ${state.videoBuffer.length}/${bufferSize}, ' // '播放延迟: ${currentTime - oldestFrame.durationMs}ms, ' // '帧时间戳: ${oldestFrame.durationMs}');