Files
MujicaUI/docs/components/356-screen-recorder-controls.md
T

1.3 KiB
Raw Blame History

356 ScreenRecorderControls 录屏控制

用途

开始、暂停、继续、停止录制并显示计时;录制本身由调用方实现。

最小示例

st := media.RecorderState{}
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	media.ScreenRecorderControls(c, st, media.ScreenRecorderControlsOptions{
		OnStart:  func() { st.Status = media.RecorderRecording },
		OnPause:  func() { st.Status = media.RecorderPaused },
		OnResume: func() { st.Status = media.RecorderRecording },
		OnStop:   func() { st = media.RecorderState{} },
	})
}
ui.Render(view, 400, 300, 1)

参数

func ScreenRecorderControls(c *ui.Context, st RecorderState, opts ScreenRecorderControlsOptions) *ui.Element

RecorderState:Status(RecorderIdle、RecorderRecording、RecorderPaused)、Elapsed。

字段 类型 默认值 含义
OnStart / OnPause / OnResume / OnStop func() 必填 缺少任一回调时 panic。
Disabled bool false 禁用。

状态

就绪、录制中(红点)、已暂停;状态同时用文字表示,不只靠圆点颜色。录制中的圆点不闪烁。

事件

全部通过回调报告。

键盘操作

按键 作用
Tab 在按钮间移动
Enter / Space 按下

限制

  • 计时由调用方更新 Elapsed。