Skip to content

Desuq Cafe

文档菜单

此翻译可能落后于最新的英文版本。 查看英文版

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.01.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 域的完整事件目录,请参阅事件参考