fix:固定为20针缓冲区
This commit is contained in:
parent
cd41dd4ccf
commit
807c71b614
@ -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}');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user