Studio Mode 与转场
本指南介绍 Studio Mode(预览/直播画面工作流,包括直接控制 T-Bar)以及场景转场(选择转场、设置时长、响应转场事件)。
Studio Mode
| 函数 | 说明 |
|---|---|
SetStudioModeEnabled(Enabled) | 启用或禁用 Studio Mode |
GetStudioModeEnabled() | 获取当前 Studio Mode 状态 |
IsStudioModeEnabled() | 检查 Studio Mode 是否已启用(缓存值) |
SetCurrentPreviewScene(Name) | 设置预览场景(仅 Studio Mode 下有效) |
GetCurrentPreviewScene() | 获取当前预览场景 |
GetPreviewSceneName() | 获取预览场景名称(缓存值) |
TriggerStudioModeTransition() | 将预览场景切换到直播画面 |
T-Bar 控制: GetClient()->GetStudioMode()->SetTBarPosition(Position, bRelease) 可直接驱动 Studio Mode 转场 T-Bar。Position 被限制在 0.0 至 1.0 之间。传入 bRelease = false 可将 T-Bar 保持在某一位置(例如通过 Sequencer 浮点轨道进行拖拽预览),传入 true 则释放 T-Bar 并让 OBS 完成转场。此功能需要启用 Studio Mode 且当前转场不能是 Cut 类型。
// Hold the T-Bar at the halfway point, then release to complete the transition
UInhyeongOBSWebSocketClient* Client = OBS->GetClient();
Client->GetStudioMode()->SetTBarPosition(0.5f, /*bRelease=*/false);
// ...later...
Client->GetStudioMode()->SetTBarPosition(1.0f, /*bRelease=*/true);
注意: 预览场景相关函数仅在 Studio Mode 启用时有效。
转场
| 函数 | 说明 |
|---|---|
GetSceneTransitionList() | 刷新可用转场列表 |
GetCurrentSceneTransition() | 获取当前转场详情 |
SetCurrentSceneTransition(Name) | 设置当前使用的场景转场 |
SetCurrentSceneTransitionDuration(Ms) | 以毫秒为单位设置转场时长 |
GetCurrentTransitionName() | 获取当前转场名称(缓存值) |
GetCurrentTransitionDuration() | 获取当前转场时长(毫秒,缓存值) |
IsTransitionActive() | 检查转场是否正在进行中 |
GetCachedTransitions() | 获取本地缓存的转场列表 |
注意: 固定类型的转场(如 Cut)不支持修改时长,请在修改时长前先检查
bTransitionFixed。
事件
Studio Mode
OnStudioModeStateChanged(bEnabled):Studio Mode 被启用或禁用OnCurrentPreviewSceneChanged(SceneName, SceneUuid):预览场景已更改
转场
OnCurrentTransitionChanged(TransitionName):当前使用的转场已更改OnTransitionDurationChanged(DurationMs):转场时长已更改OnTransitionStarted(TransitionName):场景转场已开始OnTransitionEnded(TransitionName):场景转场已完成OnTransitionVideoEnded(TransitionName):转场视频已结束(适用于 Stinger 转场)OnTransitionListUpdated:转场列表已刷新
有关所有 OBS 域的完整事件目录,请参阅事件参考。