MujicaUI

Media · #356

ScreenRecorderControls 浅色主题渲染快照
浅色 · 渲染快照
ScreenRecorderControls 深色主题渲染快照
深色 · 渲染快照

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 / OnStopfunc()必填缺少任一回调时 panic。
Disabledboolfalse禁用。

状态

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

事件

全部通过回调报告。

键盘操作

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

限制

  • 计时由调用方更新 Elapsed。