Skip to content

Desuq Cafe

文档菜单

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

事件

订阅这些事件以响应 OBS 的状态变化。它们以 BlueprintAssignable 多播委托的形式暴露在 UInhyeongOBSSubsystem 上(并镜像至 UInhyeongOBSComponent)。

原生对应项: 下方每个 Blueprint 事件都有一个带有 Native 后缀的原生 C++ 对应项,支持 lambda 绑定(例如 OnConnectedNativeOnCurrentSceneChangedNativeOnReplayBufferSavedNative)。完整列表及签名请参阅 原生委托

OBS->OnConnectedNative.AddLambda([]() { /* ... */ });

仅限处理器级别: 少数事件不会镜像至 Subsystem,必须在其处理器上进行绑定。最典型的是截图事件(OnScreenshotCaptured / OnScreenshotSaved),它们通过 GetScreenshots() 进行绑定(Subsystem 也会重新广播这两个事件);另有若干读取结果事件(OnStreamServiceSettingsReceivedOnTransitionOverrideReceivedOnInputSettingsReceived、媒体事件等)源自其各自的处理器。请参阅 Handlers API


配置

事件参数含义
OnCurrentSceneCollectionChanging(SceneCollectionName)即将切换场景集合。
OnCurrentSceneCollectionChanged(SceneCollectionName)场景集合已切换。
OnSceneCollectionListChanged()场景集合列表已修改。
OnCurrentProfileChanging(ProfileName)即将切换配置文件。
OnCurrentProfileChanged(ProfileName)配置文件已切换。
OnProfileListChanged()配置文件列表已修改。
OnStreamServiceSettingsReceived(Settings)推流服务设置已获取(处理器级别)。

连接

事件参数含义
OnConnected()已成功连接并向 OBS 完成身份验证。
OnDisconnected(Reason)已与 OBS 断开连接。
OnConnectionError(Error)连接失败。

重连

事件参数含义
OnReconnecting(AttemptNumber)正在发起一次重连尝试。
OnReconnectFailed()所有重连尝试均已耗尽。

场景

事件参数含义
OnCurrentSceneChanged(SceneName, SceneUuid)当前直播场景已切换。
OnSceneListUpdated()场景列表已刷新。
OnSceneCreated(SceneName, SceneUuid, bIsGroup)新场景已创建。
OnSceneRemoved(SceneName, SceneUuid, bIsGroup)场景已删除。
OnSceneNameChanged(SceneUuid, OldSceneName, NewSceneName)场景已重命名。
OnTransitionOverrideReceived(SceneName, Override)场景转场覆盖数据已获取(处理器级别)。

场景项目

事件参数含义
OnSceneItemTransformChanged(SceneName, SceneItemId, Transform)场景项目变换已更改(高频事件;需手动启用)。
OnSceneItemCreated(SceneName, SourceName, SceneItemId, SceneItemIndex)项目已添加至场景。
OnSceneItemRemoved(SceneName, SourceName, SceneItemId)项目已从场景中移除。
OnSceneItemEnableStateChanged(SceneName, SceneItemId, bEnabled)项目可见性已切换。
OnSceneItemLockStateChanged(SceneName, SceneItemId, bLocked)项目锁定状态已切换。
OnSceneItemListReindexed(SceneName)场景中的项目已重新排序(层级顺序已变更)。

输出

事件参数含义
OnStreamStateChanged(bActive, State)推流状态已变更。
OnRecordStateChanged(bActive, State)录制状态已变更。
OnVirtualCamStateChanged(bActive, State)虚拟摄像头状态已变更。
OnReplayBufferStateChanged(bActive, State)Replay Buffer 状态已变更。
OnReplayBufferSaved(FilePath)回放已保存至文件。
OnRecordFileChanged(NewOutputPath)录制开始写入新文件(分段)。
OnRecordDirectoryReceived(RecordDirectory)录制目录已获取。
OnOutputListReceived(Outputs)输出列表已获取。
OnOutputStatusReceived(Status)输出状态已获取。

音频 / 输入

事件参数含义
OnInputMuteStateChanged(InputName, bMuted)输入静音状态已变更。
OnInputVolumeChanged(InputName, VolumeDb, VolumeMul)音量已变更。
OnInputVolumeMeters(Meters)高频的逐输入音频电平(通过 SetVolumeMetersEnabled 手动启用)。
OnInputActiveStateChanged(InputName, bVideoActive)输入的视频激活状态已变更(通过 SetInputActiveStateEventsEnabled 手动启用)。
OnMicActivityChanged(InputName, bActive)已监视输入的说话↔静默转换(已防抖)。
OnInputAudioBalanceChanged(InputName, InputUuid, Balance)立体声平衡已变更。
OnInputAudioSyncOffsetChanged(InputName, InputUuid, SyncOffsetMs)同步偏移已变更。
OnInputAudioTracksChanged(InputName, InputUuid, AudioTracks)音轨路由已变更。
OnInputAudioMonitorTypeChanged(InputName, InputUuid, MonitorType)监听类型已变更。
OnSpecialInputsReceived(SpecialInputs)默认音频设备已获取。
OnInputSettingsChanged(InputName, InputUuid)输入设置已修改(仅通知)。
OnInputSettingsReceived(InputName, InputKind, Settings)输入设置数据已获取,包含完整数据(处理器级别)。
OnInputListUpdated()输入列表已刷新。
OnInputCreated(InputName, InputUuid, InputKind, UnversionedInputKind)新输入已创建。
OnInputRemoved(InputName, InputUuid)输入已移除。
OnInputNameChanged(InputUuid, OldInputName, NewInputName)输入已重命名。
OnInputKindListReceived(InputKinds)可用输入类型列表已获取。

Studio Mode

事件参数含义
OnStudioModeStateChanged(bEnabled)Studio Mode 已启用/禁用。
OnCurrentPreviewSceneChanged(SceneName, SceneUuid)预览场景已切换。

转场

事件参数含义
OnCurrentTransitionChanged(TransitionName)当前转场已切换。
OnTransitionDurationChanged(DurationMs)转场时长已变更。
OnTransitionStarted(TransitionName)场景转场已开始。
OnTransitionEnded(TransitionName)场景转场已完成。
OnTransitionVideoEnded(TransitionName)转场视频已结束(适用于 Stinger 转场)。
OnTransitionListUpdated()转场列表已刷新。

滤镜

事件参数含义
OnSourceFilterCreated(SourceName, FilterName, FilterKind, FilterIndex, bEnabled)滤镜已添加至来源。
OnSourceFilterRemoved(SourceName, FilterName)滤镜已从来源中移除。
OnSourceFilterNameChanged(SourceName, OldName, NewName)滤镜已重命名。
OnSourceFilterSettingsChanged(SourceName, FilterName)滤镜设置已修改。
OnSourceFilterEnableStateChanged(SourceName, FilterName, bEnabled)滤镜已启用/禁用。
OnSourceFilterListReindexed(SourceName)来源上的滤镜顺序已变更。

截图

处理器级别:通过 GetScreenshots() 进行绑定。Subsystem 也会重新广播这两个事件。

事件参数含义
OnScreenshotCaptured(Result)截图已捕获至内存(包含 base64 数据)。
OnScreenshotSaved(SourceName, FilePath)截图已保存至 OBS 机器上的文件。

媒体

处理器级别:通过 GetMediaInputs() 进行绑定。

事件参数含义
OnMediaInputPlaybackStarted(InputName)媒体已开始播放。
OnMediaInputPlaybackEnded(InputName)媒体已播放完毕。
OnMediaInputActionTriggered(InputName, Action)媒体动作已被触发。
OnMediaInputStatusReceived(Status)媒体状态已获取。

相关内容

  • Subsystem API:用于获取数据和更改这些事件所报告状态的方法。
  • 原生委托:带 Native 后缀的 C++ 对应项,用于 lambda 绑定。
  • Handlers API:处理器级别的事件及 GetXxx() 访问器。