feat: 支持手动切换采集帧率
在 Android、Web 及 Flutter 控制端新增帧率选择 UI,被控端按屏幕刷新率生成支持的帧率档位并上报,允许在保持分辨率不变的情况下仅切换帧率。 另附带更新信号服务器的数据库配置。
This commit is contained in:
@@ -77,6 +77,10 @@ class WebRtcController {
|
||||
/// 被控端上报分辨率(自编码解码器输出尺寸变化时也会触发)。
|
||||
void Function(int width, int height)? onResolutionReported;
|
||||
|
||||
/// 被控端上报当前采集帧率与支持的帧率档位(仅 REPORT_RESOLUTION 触发)。
|
||||
void Function(int width, int height, int fps, List<int> supportedFps)?
|
||||
onFpsReport;
|
||||
|
||||
/// 当前平台(Windows / Linux / Web / iOS 等)不支持原生硬解时回调。
|
||||
void Function()? onSelfCodecNotSupported;
|
||||
|
||||
@@ -370,6 +374,9 @@ class WebRtcController {
|
||||
_selfCodecHeight = msg.height;
|
||||
}
|
||||
onResolutionReported?.call(msg.width, msg.height);
|
||||
// 同步帧率信息(当前帧率 + 被控端按刷新率筛选的帧率档位)
|
||||
onFpsReport?.call(
|
||||
msg.width, msg.height, msg.fps, msg.supportedFps.toList());
|
||||
break;
|
||||
default:
|
||||
// ignore: avoid_print
|
||||
@@ -794,6 +801,7 @@ class WebRtcController {
|
||||
onSelfCodecReady = null;
|
||||
onStreamModeReport = null;
|
||||
onResolutionReported = null;
|
||||
onFpsReport = null;
|
||||
onSelfCodecNotSupported = null;
|
||||
_pc = null;
|
||||
// 重置网速统计基线,避免下次连接首帧显示错误的瞬时速率。
|
||||
|
||||
Reference in New Issue
Block a user