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

52 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 356 ScreenRecorderControls 录屏控制
## 用途
开始、暂停、继续、停止录制并显示计时;录制本身由调用方实现。
## 最小示例
```go
st := mujica.RecorderState{}
view := func(c *ui.Context) {
mujica.Use(c, mujica.Settings{})
mujica.ScreenRecorderControls(c, st, mujica.ScreenRecorderControlsOptions{
OnStart: func() { st.Status = mujica.RecorderRecording },
OnPause: func() { st.Status = mujica.RecorderPaused },
OnResume: func() { st.Status = mujica.RecorderRecording },
OnStop: func() { st = mujica.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`。