이벤트
이 이벤트들을 구독하면 OBS 상태 변경에 반응할 수 있습니다. UInhyeongOBSSubsystem의 BlueprintAssignable 멀티캐스트 델리게이트로 제공되며 (UInhyeongOBSComponent에도 미러링됩니다).
네이티브 대응: 아래의 모든 Blueprint 이벤트에는 람다 바인딩을 지원하는
Native접미사가 붙은 네이티브 C++ 대응 항목이 있습니다 (예:OnConnectedNative,OnCurrentSceneChangedNative,OnReplayBufferSavedNative). 전체 목록과 시그니처는 네이티브 델리게이트를 참조하세요.OBS->OnConnectedNative.AddLambda([]() { /* ... */ });
핸들러 전용: 일부 이벤트는 Subsystem에 미러링되지 않으며 해당 핸들러에 바인딩해야 합니다. 특히 스크린샷 이벤트(
OnScreenshotCaptured/OnScreenshotSaved)는GetScreenshots()를 통해 바인딩하며 (Subsystem도 이 두 이벤트를 다시 브로드캐스트합니다),OnStreamServiceSettingsReceived,OnTransitionOverrideReceived,OnInputSettingsReceived, 미디어 이벤트 등 여러 읽기 결과 이벤트는 각 핸들러에서 발생합니다. 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) | 장면 내 항목이 재정렬되었습니다 (z 순서 변경). |
출력
| 이벤트 | 파라미터 | 의미 |
|---|---|---|
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) | 전환 비디오가 종료되었습니다 (스팅어 전환에 유용). |
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++ 대응 항목입니다. - Handlers API: 핸들러 전용 이벤트와
GetXxx()접근자입니다.