Media: components 341-360
This commit is contained in:
111 files changed
+6831
-1
No files matched your search
@@ -0,0 +1,51 @@
|
||||
# 347 VideoThumbnailStrip 缩略帧条
|
||||
|
||||
## 用途
|
||||
|
||||
横向缩略帧条:标出当前帧,点击或按键跳转。
|
||||
|
||||
## 最小示例
|
||||
|
||||
```go
|
||||
frames := []mujica.StripFrame{{At: 0}, {At: 10 * time.Second}, {At: 20 * time.Second}}
|
||||
current := 0
|
||||
view := func(c *ui.Context) {
|
||||
mujica.Use(c, mujica.Settings{})
|
||||
if mujica.VideoThumbnailStrip(c, ¤t, frames, mujica.VideoThumbnailStripOptions{}).Changed() {
|
||||
_ = frames[current].At // seek the player there
|
||||
}
|
||||
}
|
||||
ui.Render(view, 400, 300, 1)
|
||||
```
|
||||
|
||||
## 参数
|
||||
|
||||
`func VideoThumbnailStrip(c *ui.Context, current *int, frames []StripFrame, opts VideoThumbnailStripOptions) ChoiceResult`
|
||||
|
||||
`StripFrame` 有 `Image`(可为 nil)和 `At`。`*current` 越界 panic。
|
||||
|
||||
| 字段 | 类型 | 默认值 | 含义 |
|
||||
| --- | --- | --- | --- |
|
||||
| `FrameWidth` | `float32` | 0(即 96) | 每格宽度,高度按 16:9。 |
|
||||
| `Disabled` | `bool` | false | 禁用。 |
|
||||
|
||||
## 状态
|
||||
|
||||
- 只构建放得下的那几格,窗口跟随当前帧移动;10 万帧也只建十几个元素。
|
||||
- 当前帧:强调边框加菱形;每格左下角显示时间。
|
||||
|
||||
## 事件
|
||||
|
||||
`Changed()` 在当前帧变化后为 true;调用方据此跳转播放器。
|
||||
|
||||
## 键盘操作
|
||||
|
||||
| 按键 | 作用 |
|
||||
| --- | --- |
|
||||
| Tab | 聚焦帧条 |
|
||||
| ← / → | 上一帧 / 下一帧 |
|
||||
| Home / End | 第一帧 / 最后一帧 |
|
||||
|
||||
## 限制
|
||||
|
||||
- 不提供横向滚动条,用两侧按钮或键盘移动。
|
||||
Reference in new issue
Block a user