Skip to content

Desuq Cafe

ドキュメントメニュー

この翻訳は最新の英語版より遅れている場合があります。 英語版を表示

Handlers API

このプラグインは OBS のコントロールを 11 のドメインハンドラーに分割します。各ハンドラーは UInhyeongOBSHandlerBase のサブクラスであり、中央の UInhyeongOBSWebSocketClient によって所有されます。ハンドラーは自身のドメイン状態をキャッシュし、クライアントを通じてリクエストを送信し、すべてのイベントに対して Blueprint で割り当て可能なダイナミックデリゲート(FOBSOn*)と対応するネイティブ C++ デリゲート(FOBSOn*Native)の両方を発火します。以下に列挙されているすべての BlueprintAssignable On* デリゲートには、同名の On*Native C++ 版(サフィックス Native)があり、C++ から AddSP / AddLambda でバインドできます。

ハンドラーへのアクセス。 C++ または Blueprint から、クライアントを取得して型付きアクセサーを呼び出します。

UInhyeongOBSScenes* Scenes = Subsystem->GetClient()->GetScenes();
Scenes->SetCurrentProgramScene(TEXT("Gameplay"));

クライアントのアクセサーは GetScenes()GetAudio()GetOutputs()GetInputSettings()GetMediaInputs()GetStudioMode()GetTransitions()GetFilters()GetScreenshots()GetConfig()GetGeneral() です。ハンドラーは最初のアクセス時に遅延生成されます。

最も一般的な操作の多くは、Subsystem API(シーン切り替え、録画、ミュート/音量など)の便利メソッドとしても提供されているため、Blueprint 側でハンドラーに直接触れる必要はありません。サブシステムのミラーが存在する場合は各ハンドラーの説明に記載しています。ハンドラー固有のメソッド(サブシステムのミラーなし)としては、リプレイの衝突回避(Outputs)、永続データ(Config)、T バー(StudioMode)、デバイスプロパティの列挙(InputSettings)、ゲームイベントの発火(General)が挙げられます。完全なイベントカタログとシグネチャについては Events を参照してください。

TSharedPtr<FJsonObject> を受け取るメソッドは C++ 専用です。対応する *FromString 版は JSON 文字列を受け取る Blueprint 対応の等価メソッドです。


UInhyeongOBSScenes

シーン切り替え、シーンの CRUD、グループ、シーンアイテム(ソース)、Z オーダー/ロック/ブレンド、シーンアイテムのフルトランスフォームを扱います。GetClient()->GetScenes() でアクセスします。一般的な操作はサブシステムにもミラーされています。

関数パラメーター説明
GetSceneListなしシーン一覧をリクエストします(OnSceneListUpdated を発火)。
SetCurrentProgramSceneSceneName名前でプログラムシーンを切り替えます。
GetCurrentProgramSceneなし現在のプログラムシーンをリクエストします。
CreateSceneSceneName新しいシーンを(一意の名前で)作成します。
RemoveSceneSceneName名前でシーンを削除します。
RemoveSceneByUuidSceneUuidUUID でシーンを削除します。
SetSceneNameSceneName, NewSceneNameシーンの名前を変更します。
SetSceneNameByUuidSceneUuid, NewSceneNameUUID でシーンの名前を変更します。
GetGroupListなしすべてのグループを一覧表示します。
GetGroupSceneItemListGroupNameグループ内のアイテムを一覧表示します。
GetCachedGroupsTArray<FString>キャッシュされたグループ名。
GetSceneItemSourceSceneName, SceneItemIdシーンアイテムのソースを取得します。
GetSourceActiveSourceNameソースのアクティブ/表示状態を取得します。
GetSourceActiveByUuidSourceUuid同上(UUID 指定)。
GetSceneTransitionOverrideSceneNameシーンのトランジションの上書きを取得します。
SetSceneTransitionOverrideSceneName, TransitionName, TransitionDuration=-1シーンのトランジションの上書きを設定します(名前を空にするとクリア)。
ClearSceneTransitionOverrideSceneNameシーンのトランジションの上書きをクリアします。
GetCachedTransitionOverrideSceneName, OutOverrideboolキャッシュされたトランジションの上書きを読み取ります。
FetchAllTransitionOverridesなしキャッシュされた全シーンの上書きを取得します。
GetCurrentSceneNameFStringキャッシュされた現在のプログラムシーン名。
GetCachedScenesTArray<FOBSScene>キャッシュされたシーン一覧。
GetCachedScenesWithItemsTArray<FOBSSceneWithItems>キャッシュされたシーンとそのアイテム。
GetSceneItemListSceneNameシーン内のシーンアイテム(ソース)を一覧表示します。
SetSceneItemEnabledSceneName, SceneItemId, bEnabledシーンアイテムを表示/非表示にします。
GetSceneItemIdSceneName, SourceNameソース名を数値のシーンアイテム ID に解決します。
CreateSceneItemSceneName, SourceName, bEnabled=true既存のソースをシーンに追加します。
RemoveSceneItemSceneName, SceneItemIdシーンアイテムを削除します(参照のみ)。
DuplicateSceneItemSceneName, SceneItemId, DestinationSceneName=""シーンアイテムを複製します(参照)。
GetSceneItemLockedSceneName, SceneItemIdシーンアイテムのロック状態を取得します。
SetSceneItemLockedSceneName, SceneItemId, bLockedシーンアイテムをロック/ロック解除します。
GetSceneItemIndexSceneName, SceneItemIdシーンアイテムの Z オーダーインデックスを取得します。
SetSceneItemIndexSceneName, SceneItemId, SceneItemIndexシーンアイテムの Z オーダーインデックスを設定します。
GetSceneItemBlendModeSceneName, SceneItemIdシーンアイテムのブレンドモードを取得します。
SetSceneItemBlendModeSceneName, SceneItemId, BlendModeシーンアイテムのブレンドモードを設定します(EOBSBlendMode)。
GetSceneItemTransformSceneName, SceneItemIdシーンアイテムのトランスフォームを取得します。
SetSceneItemTransformSceneName, SceneItemId, TransformFOBSSceneItemTransform をすべて適用します。
SetSceneItemPositionSceneName, SceneItemId, X, Y位置のみを設定します。
SetSceneItemRotationSceneName, SceneItemId, Rotation回転のみを設定します(度数)。
SetSceneItemScaleSceneName, SceneItemId, ScaleX, ScaleYスケールのみを設定します。
SetSceneItemCropSceneName, SceneItemId, Left, Top, Right, Bottomクロップのみを設定します。
SetSceneItemBoundsSceneName, SceneItemId, BoundsType, BoundsWidth, BoundsHeight, BoundsAlignment=0バウンディングボックスのプロパティを設定します。
GetCachedSceneItemTransformSceneName, SceneItemId, OutTransformboolキャッシュされたトランスフォームを読み取ります。
FetchSceneItemTransformsSceneNameシーン内の全アイテムのトランスフォームをキャッシュします。
FetchAllSceneItemTransformsなし全シーン内の全アイテムのトランスフォームをキャッシュします(OnAllTransformsFetched を発火)。
IsTransformCachedSceneName, SceneItemIdboolトランスフォームがキャッシュされているかどうか。
SetTransformEventsEnabledbEnable高頻度の SceneItemTransformChanged イベントをオプトインします。
AreTransformEventsEnabledboolトランスフォームイベントが購読されているかどうか。
RefreshAllSceneDataなし全シーンデータを更新します。
GetCachedTransformCountint32キャッシュされたトランスフォームの診断カウント。
GetCachedTransitionOverrideCountint32キャッシュされた上書きの診断カウント。

C++ 専用: SetSceneItemTransformFromJson、および静的ヘルパー TransformToJsonJsonToTransformBoundsTypeToString/StringToBoundsTypeBlendModeToString/StringToBlendMode

イベントパラメーター説明
OnSceneListUpdatedScenesシーン一覧が変更されました。
OnAllTransformsFetchedScenesFetchAllSceneItemTransforms が完了しました。
OnCurrentSceneChangedSceneNameプログラムシーンが変更されました。
OnSceneItemTransformChangedSceneName, SceneItemId, Transformシーンアイテムのトランスフォームが変更されました(SetTransformEventsEnabled(true) が必要)。
OnSceneItemCreatedシーンアイテムの詳細シーンにソースが追加されました。
OnSceneItemRemovedシーンアイテムの詳細シーンアイテムが削除されました。
OnSceneItemLockStateChangedロックの詳細シーンアイテムのロック状態が変更されました。
OnSceneItemEnableStateChanged有効化の詳細シーンアイテムの表示状態が変更されました。
OnSceneItemListReindexedSceneNameシーンアイテムが並び替えられました。
OnSceneCreatedシーンの詳細シーンが作成されました。
OnSceneRemovedシーンの詳細シーンが削除されました。
OnSceneNameChanged名前変更の詳細シーンの名前が変更されました。
OnTransitionOverrideReceived上書きデータシーンのトランジションの上書きが到着しました。

UInhyeongOBSAudio

入力、ミュート、音量(dB および乗数)、高度な音声設定(バランス、同期オフセット、モニタリング種別、トラック)、特殊な入力、入力の CRUD、および音声アクティビティ検出のオプトインを扱います。GetClient()->GetAudio() でアクセスします。ミュート/音量と入力リストのヘルパーはサブシステムにもミラーされています。

関数パラメーター説明
GetInputListInputKind=""入力を一覧表示します(種類でフィルタリング可)。
GetCachedInputsTArray<FOBSInput>キャッシュされた入力一覧。
GetCachedInputInputName, OutInputbool名前で指定したキャッシュ済みの入力 1 件。
RefreshAllAudioInfoなしキャッシュされた全音声入力の音量/ミュートを取得します。
SetInputMuteInputName, bMutedミュート状態を設定します。
ToggleInputMuteInputNameミュートを切り替えます。
GetInputMuteInputNameミュートを照会します(キャッシュを更新してイベントを発火)。
SetInputVolumeInputName, VolumeDb音量を dB で設定します。
SetInputVolumeMultiplierInputName, VolumeMul音量を乗数で設定します。
GetInputVolumeInputName音量を照会します(キャッシュを更新してイベントを発火)。
AdjustInputVolumeInputName, DeltaDbdB 単位で音量を相対変更します。
RefreshAllAdvancedAudioInfoなしキャッシュされた全入力のバランス/同期/モニタリング/トラックを取得します。
SetVolumeMetersEnabledbEnable高頻度の InputVolumeMeters ストリームをオプトインします(OnInputVolumeMeters を駆動)。
SetInputActiveStateEventsEnabledbEnableInputActiveStateChanged をオプトインします(OnInputActiveStateChanged を駆動)。
GetLastVolumeMetersTArray<FOBSInputVolumeMeter>最新の音量メーターフレーム。
GetInputAudioBalanceInputNameステレオバランスを照会します。
SetInputAudioBalanceInputName, Balanceバランスを設定します(0=左、0.5=中央、1=右)。
GetInputAudioSyncOffsetInputNameA/V 同期オフセット(ms)を照会します。
SetInputAudioSyncOffsetInputName, OffsetMs同期オフセットを設定します(-950〜20000、負数可)。
GetInputAudioMonitorTypeInputNameモニタリング種別を照会します。
SetInputAudioMonitorTypeInputName, MonitorTypeモニタリング種別を設定します(EOBSMonitorType)。
GetInputAudioTracksInputName音声トラックの有効状態を照会します。
SetInputAudioTracksInputName, Tracks全トラックを設定します(FOBSAudioTracks、トラック 1〜6)。
SetInputAudioTrackInputName, TrackNumber, bEnabled単一トラックを設定します(1〜6)。
GetSpecialInputsなしデフォルトのデスクトップ/マイク入力名を取得します。
GetCachedSpecialInputsFOBSSpecialInputsキャッシュされた特殊な入力。
CreateInputFromStringSceneName, InputName, InputKind, InputSettingsJson="", bSceneItemEnabled=true新しい入力を作成してシーンに追加します。
RemoveInputInputName入力を削除します(使用中の場合は失敗)。
SetInputNameInputName, NewInputName入力の名前を変更します。
GetInputKindListbUnversioned=false利用可能な入力の種類を一覧表示します。
GetCachedInputKindsTArray<FString>キャッシュされた入力の種類。
SupportsAdvancedAudioPropertiesInputKindbool(静的)ある種類がバランス/同期/トラック/モニタリングをサポートするかどうか。
IsAudioInputKindInputKindbool(静的)ある種類が音声タイプかどうか。

C++ 専用: *ByUuid 版(GetInputAudioBalanceByUuid など)、CreateInput、および RemoveInputByUuid

イベントパラメーター説明
OnInputListUpdatedInputs入力一覧が変更されました。
OnInputMuteStateChangedInputName, bMuted入力のミュートが変更されました。
OnInputVolumeChangedInputName, VolumeDb, VolumeMul入力の音量が変更されました。
OnInputVolumeMetersMeters高頻度の入力ごとのレベル(SetVolumeMetersEnabled(true) が必要)。
OnInputActiveStateChangedInputName, bVideoActive入力のビデオアクティブ状態が変更されました(オプトインが必要)。
OnInputCreated入力の詳細入力が作成されました。
OnInputRemoved入力の詳細入力が削除されました。
OnInputNameChanged名前変更の詳細入力の名前が変更されました。
OnInputKindListReceived種類入力の種類の一覧が到着しました。
OnInputAudioBalanceChangedバランスバランスが変更または取得されました。
OnInputAudioSyncOffsetChangedオフセット同期オフセットが変更または取得されました。
OnInputAudioTracksChangedトラックトラックが変更または取得されました。
OnInputAudioMonitorTypeChangedモニタリング種別モニタリング種別が変更または取得されました。
OnSpecialInputsReceived特殊な入力特殊な入力が取得されました。

UInhyeongOBSOutputs

配信、録画(一時停止/再開、分割、チャプターを含む)、仮想カメラ、リプレイバッファ(衝突回避を含む)、録画の保存先ディレクトリ、汎用出力、および配信キャプションを扱います。GetClient()->GetOutputs() でアクセスします。配信/録画のコントロールはサブシステムにもミラーされていますが、リプレイの衝突回避はハンドラー固有です

関数パラメーター説明
StartStream / StopStream / ToggleStreamなし配信のコントロール。
GetStreamStatusなし配信ステータスをリクエストします。
IsStreamingboolキャッシュされた配信フラグ。
GetLastStreamStatusFOBSStreamStatus最後の配信ステータス。
StartRecord / StopRecord / ToggleRecordなし録画のコントロール。
PauseRecord / ResumeRecord / ToggleRecordPauseなし録画の一時停止コントロール。
GetRecordStatusなし録画ステータスをリクエストします。
IsRecordingboolキャッシュされた録画フラグ。
GetLastRecordStatusFOBSRecordStatus最後の録画ステータス。
StartVirtualCam / StopVirtualCam / ToggleVirtualCamなし仮想カメラのコントロール。
GetVirtualCamStatusなし仮想カメラのステータスをリクエストします。
IsVirtualCamActiveboolキャッシュされた仮想カメラフラグ。
StartReplayBuffer / StopReplayBuffer / ToggleReplayBufferなしリプレイバッファのコントロール。
SaveReplayBufferなし現在のリプレイバッファを保存します。
GetReplayBufferStatusなしリプレイバッファのステータスをリクエストします。
IsReplayBufferActiveboolキャッシュされたリプレイバッファフラグ。
GetLastReplayPathFString最後に保存されたリプレイのパス(リネーム後)。
SetReplayCollisionProofingbEnable保存されたリプレイごとに一意のタイムスタンプサフィックスで名前を変更します(ハンドラー固有)。
IsReplayCollisionProofingEnabledbool衝突回避が有効かどうか。
SetNextReplayContextLabelLabel次に保存されるリプレイのファイル名に埋め込まれる 1 回限りのラベル。
SaveReplayBufferWithContextContextLabel次のリプレイのラベルを設定してすぐに保存します。
GetRecordDirectoryなし録画の保存先ディレクトリをリクエストします。
SetRecordDirectoryDirectory録画の保存先ディレクトリを設定します(次の録画から有効)。
GetCachedRecordDirectoryFStringキャッシュされた録画の保存先ディレクトリ。
GetLastRecordedFilePathFString最後に録画されたファイルのパス。
SplitRecordFileなし録画を新しいファイルに分割します。
CreateRecordChapterChapterName=""チャプターマーカーを追加します(OBS 30.2.0 以降、Hybrid MP4)。
GetOutputListなしすべての出力を一覧表示します。
GetOutputStatusOutputName1 つの出力のステータス。
GetOutputSettingsOutputName1 つの出力の設定。
SetOutputSettingsFromStringOutputName, JsonSettingsJSON から出力設定を行います。
StartOutput / StopOutput / ToggleOutputOutputName特定の出力をコントロールします。
GetCachedOutputsTArray<FOBSOutput>キャッシュされた出力一覧。
SendStreamCaptionCaptionTextCEA-608 キャプションテキストを送信します(配信中である必要があります)。

C++ 専用: SetOutputSettings(JSON オブジェクト)および静的ヘルパー BuildReplayFilenameSanitizeReplayLabel

イベントパラメーター説明
OnStreamStateChanged状態配信状態が変更されました。
OnRecordStateChanged状態録画状態が変更されました。
OnRecordingStopped出力パス録画が停止しました(ファイルパス付き)。
OnVirtualCamStateChanged状態仮想カメラの状態が変更されました。
OnReplayBufferStateChanged状態リプレイバッファの状態が変更されました。
OnReplayBufferSaved保存パスリプレイが保存されました(リネーム後の最終パス)。
OnRecordFileChanged新しいパス録画出力が新しいファイルに切り替わりました(分割)。
OnRecordDirectoryReceivedディレクトリ録画の保存先ディレクトリが取得されました。
OnOutputListReceived出力出力一覧が取得されました。
OnOutputStatusReceivedステータス出力ステータスが取得されました。

UInhyeongOBSInputSettings

テキスト/ブラウザ/画像/メディア/カラーソースのソース設定、デフォルト設定、およびキャプチャデバイスのプロパティアクセスを扱います。GetClient()->GetInputSettings() でアクセスします。ボタン押下とリストプロパティの列挙はハンドラー固有です。

関数パラメーター説明
GetInputSettingsInputName入力の設定を取得します(OnInputSettingsReceivedNative を発火)。
GetInputSettingsByUuidInputUuid同上(UUID 指定)。
SetInputSettingsFromStringInputName, InputSettingsJson, bOverlay=trueJSON から設定を適用します。
GetInputDefaultSettingsInputKindある種類のデフォルト設定を取得します。
PressInputPropertiesButtonInputName, PropertyNameボタン型プロパティを押します(例:キャプチャデバイスの有効化/無効化)。
GetInputPropertiesListPropertyItemsInputName, PropertyNameリストプロパティのアイテム(デバイスドロップダウン)を列挙します。OnInputPropertyItemsReceived を発火します。
GetCachedInputSettingsStringInputNameFStringJSON としてキャッシュされた設定。
HasCachedSettingsInputNamebool設定がキャッシュされているかどうか。
ClearCachedSettingsInputName1 つの入力のキャッシュをクリアします。
ClearAllCachedSettingsなし設定キャッシュ全体をクリアします。
SetTextSourceTextInputName, NewTextテキストソースのテキストを設定します。
SetBrowserSourceUrlInputName, NewUrlブラウザソースの URL を設定します。
SetImageSourceFileInputName, NewFilePath画像ソースのファイルを設定します。
SetMediaSourceFileInputName, NewFilePath, bLooping=falseメディアソースのファイルを設定します。
SetColorSourceColorInputName, Colorカラーソースの色を設定します(ABGR int64)。

C++ 専用: SetInputSettings / SetInputSettingsByUuid(JSON オブジェクト)および GetCachedInputSettings(JSON オブジェクトの出力パラメーター)。

イベントパラメーター説明
OnInputSettingsChanged入力の詳細入力の設定が変更されました。
OnInputPropertyItemsReceivedプロパティアイテムリストプロパティのアイテム(デバイスドロップダウン)が到着しました。

ネイティブ限定: OnInputSettingsReceivedNativeGetInputSettings 呼び出しからの実際の設定 JSON を配信します。


UInhyeongOBSMediaInputs

メディアソース(VLC、Media Source)の再生コントロール、シーク、およびステータスを扱います。GetClient()->GetMediaInputs() でアクセスします。EOBSMediaInputAction および EOBSMediaState 列挙型と FOBSMediaInputStatus 構造体を定義します。

関数パラメーター説明
GetMediaInputStatusInputName状態/再生時間/カーソルを照会します。
GetCachedMediaInputStatusInputName, OutStatusbool最後にキャッシュされたステータス。
TriggerMediaInputActionInputName, ActionEOBSMediaInputAction を実行します。
PlayMedia / PauseMedia / StopMedia / RestartMediaInputName再生のショートカット。
NextMedia / PreviousMediaInputNameプレイリストのナビゲーション。
SetMediaInputCursorInputName, CursorMs絶対位置(ms)にシークします。
OffsetMediaInputCursorInputName, OffsetMs相対シーク(ms)。
SeekToPercentInputName, Percent再生時間の割合(0.0〜1.0)にシークします。

静的ヘルパー: MediaInputActionToStringMediaInputActionFromStringParseMediaState

イベントパラメーター説明
OnMediaInputPlaybackStartedInputName再生が開始されました。
OnMediaInputPlaybackEndedInputName再生が終了しました。
OnMediaInputActionTriggeredInputName, Actionメディアアクションが発火されました。
OnMediaInputStatusReceivedStatusメディアステータスが到着しました。

UInhyeongOBSStudioMode

スタジオモードの切り替え、プレビューシーン、および T バーのスクラブを含むトランジションを扱います。GetClient()->GetStudioMode() でアクセスします。SetTBarPosition はハンドラー固有です。

関数パラメーター説明
GetStudioModeEnabledなしスタジオモードの状態を照会します。
SetStudioModeEnabledbEnabledスタジオモードを有効化/無効化します。
IsStudioModeEnabledboolキャッシュされたスタジオモードフラグ。
GetCurrentPreviewSceneなしプレビューシーンを照会します。
SetCurrentPreviewSceneSceneName名前でプレビューシーンを設定します。
SetCurrentPreviewSceneByUuidSceneUuidUUID でプレビューシーンを設定します。
GetPreviewSceneNameFStringキャッシュされたプレビューシーン名。
GetPreviewSceneUuidFStringキャッシュされたプレビューシーン UUID。
TriggerStudioModeTransitionなしプレビューをプログラムにトランジションします。
TriggerStudioModeTransitionWithOptionsTransitionName, TransitionDurationMs=-1特定のトランジション/時間でトランジションします。
SetTBarPositionPosition, bRelease=trueT バーをスクラブします(0=プレビュー、1=トランジション完了)。シーケンサーの float トラックで保持する場合は bRelease=false を渡してください。
イベントパラメーター説明
OnStudioModeStateChangedbEnabledスタジオモードが切り替わりました。
OnCurrentPreviewSceneChangedシーンプレビューシーンが変更されました。

UInhyeongOBSTransitions

現在のトランジション、その時間と設定、およびライブのトランジション進行状況を扱います。GetClient()->GetTransitions() でアクセスします。

関数パラメーター説明
GetSceneTransitionListなし利用可能なトランジションを一覧表示します(OnTransitionListUpdated を発火)。
GetCachedTransitionsTArray<FOBSTransition>キャッシュされたトランジション一覧。
GetCurrentSceneTransitionなし現在のトランジションを照会します。
SetCurrentSceneTransitionTransitionName現在のトランジションを設定します。
GetCurrentTransitionInfoFOBSCurrentTransitionInfoキャッシュされた現在のトランジション情報。
GetCurrentTransitionNameFStringキャッシュされた現在のトランジション名。
SetCurrentSceneTransitionDurationDurationMsトランジション時間を設定します。
GetCurrentTransitionDurationint32キャッシュされたトランジション時間(ms)。
SetCurrentSceneTransitionSettingsFromStringSettingsJson, bOverlay=trueJSON からトランジション固有の設定を行います。
GetCurrentSceneTransitionCursorなしアクティブなトランジションのカーソルを照会します。
GetCachedTransitionCursorfloat最後のカーソル値(0.0〜1.0、または -1)。
IsTransitionActiveboolトランジションが進行中かどうか。

C++ 専用: SetCurrentSceneTransitionSettings(JSON オブジェクト)。

イベントパラメーター説明
OnCurrentTransitionChanged名前現在のトランジションが変更されました。
OnTransitionDurationChanged時間トランジション時間が変更されました。
OnTransitionStarted名前トランジションが開始されました。
OnTransitionEnded名前トランジションが終了しました(カットポイント)。
OnTransitionVideoEnded名前トランジションの映像が終了しました(スティンガートランジション)。
OnTransitionListUpdated一覧トランジション一覧が変更されました。

UInhyeongOBSFilters

入力、シーン、グループのソースフィルターの CRUD、有効化/並び替え、およびフィルターごとの設定を扱います。GetClient()->GetFilters() でアクセスします。

関数パラメーター説明
GetSourceFilterKindListなし利用可能なフィルターの種類を一覧表示します。
GetCachedFilterKindsTArray<FString>キャッシュされたフィルターの種類。
GetSourceFilterListSourceNameソースのフィルターを一覧表示します。
GetSourceFilterListByUuidSourceUuid同上(UUID 指定)。
GetCachedFiltersForSourceSourceNameTArray<FOBSSourceFilter>ソースのキャッシュされたフィルター。
HasCachedFiltersForSourceSourceNameboolフィルターがキャッシュされているかどうか。
ClearCachedFiltersForSourceSourceName1 つのソースのフィルターキャッシュをクリアします。
ClearAllCachedFiltersなしフィルターキャッシュ全体をクリアします。
GetSourceFilterSourceName, FilterName1 つのフィルターの情報を取得します。
GetSourceFilterDefaultSettingsFilterKindフィルターの種類のデフォルト設定。
CreateSourceFilterFromStringSourceName, FilterName, FilterKind, FilterSettingsJson=""フィルターを作成します(JSON 設定)。
RemoveSourceFilterSourceName, FilterNameフィルターを削除します。
SetSourceFilterNameSourceName, FilterName, NewFilterNameフィルターの名前を変更します。
SetSourceFilterIndexSourceName, FilterName, FilterIndexフィルターチェーン内でフィルターを並び替えます。
SetSourceFilterEnabledSourceName, FilterName, bEnabledフィルターを有効化/無効化します。
SetSourceFilterSettingsFromStringSourceName, FilterName, FilterSettingsJson, bOverlay=trueJSON からフィルター設定を行います。

C++ 専用: CreateSourceFilter および SetSourceFilterSettings(JSON オブジェクト)。

イベントパラメーター説明
OnSourceFilterCreatedフィルターの詳細フィルターが作成されました。
OnSourceFilterRemovedフィルターの詳細フィルターが削除されました。
OnSourceFilterNameChanged名前変更の詳細フィルターの名前が変更されました。
OnSourceFilterSettingsChangedフィルターの詳細フィルターの設定が変更されました。
OnSourceFilterEnableStateChanged有効化の詳細フィルターの有効状態が変更されました。
OnSourceFilterListReindexedSourceNameソースのフィルター一覧が並び替えられました。

ネイティブ限定: OnSourceFilterListReceivedNativeGetSourceFilterList のレスポンスがキャッシュされた後に発火します(エディタのコンボボックス更新で使用)。


UInhyeongOBSScreenshots

スクリーンショットを base64 でキャプチャするか OBS マシンのファイルシステムに保存する機能と、テクスチャ変換ユーティリティを扱います。GetClient()->GetScreenshots() でアクセスします。このハンドラーは OBS イベントを持たず、純粋なリクエスト/レスポンスです。On* デリゲートはハンドラーレベル限定で、サブシステムにはミラーされません。

関数パラメーター説明
GetSourceScreenshotSourceName, ImageFormat="png"base64 でキャプチャします(OnScreenshotCaptured を発火)。
GetSourceScreenshotByUuidSourceUuid, ImageFormat="png"同上(UUID 指定)。
GetSourceScreenshotWithOptionsRequestFOBSScreenshotRequest を完全にコントロールしてキャプチャします。
GetSourceScreenshotScaledSourceName, ImageFormat, Width, Height, CompressionQuality=-1スケーリングしてキャプチャします。
SaveSourceScreenshotSourceName, FilePath, ImageFormat="png"OBS マシンのファイルに保存します(OnScreenshotSaved を発火)。
SaveSourceScreenshotByUuidSourceUuid, FilePath, ImageFormat="png"同上(UUID 指定)。
SaveSourceScreenshotWithOptionsRequest完全なコントロールで保存します(Request.ImageFilePath が必要)。
SaveSourceScreenshotScaledSourceName, FilePath, ImageFormat, Width, Height, CompressionQuality=-1スケーリングして保存します。
CreateTextureFromBase64Base64ImageDataUTexture2D*(静的)base64 をテクスチャにデコードします。
CreateTextureFromScreenshotResultResultUTexture2D*(静的)FOBSScreenshotResult からテクスチャを作成します。
DecodeBase64ImageDataBase64ImageData, OutBytes, OutFormatbool(静的)base64 を生バイト列にデコードします。
CreateTextureFromBytesImageBytesUTexture2D*(静的)生バイト列からテクスチャを作成します。
GetLastScreenshotResultFOBSScreenshotResult最後にキャプチャされた結果。
GetLastSavedResultFOBSScreenshotSavedResult最後に保存された結果。
IsCapturePendingboolキャプチャが進行中かどうか。
イベントパラメーター説明
OnScreenshotCaptured結果base64 スクリーンショットの準備ができました。
OnScreenshotSaved結果スクリーンショットがファイルシステムに保存されました。

UInhyeongOBSConfig

シーンコレクション、プロファイル、プロファイルパラメーター、配信サービス設定、映像設定、およびプラグイン所有の永続キー/バリューストアを扱います。GetClient()->GetConfig() でアクセスします。永続データのメソッドはハンドラー固有です。

関数パラメーター説明
GetSceneCollectionListなしシーンコレクションを一覧表示します(OnSceneCollectionListChanged を発火)。
SetCurrentSceneCollectionSceneCollectionNameシーンコレクションを切り替えます(リロードの一時停止が発生します)。
CreateSceneCollectionSceneCollectionName新しいコレクションを作成して切り替えます。
GetCachedSceneCollectionsTArray<FString>キャッシュされたコレクション名。
GetCurrentSceneCollectionNameFStringキャッシュされた現在のコレクション。
GetProfileListなしプロファイルを一覧表示します(OnProfileListChanged を発火)。
SetCurrentProfileProfileNameプロファイルを切り替えます。
CreateProfileProfileNameプロファイルを作成して切り替えます。
RemoveProfileProfileNameプロファイルを削除します(アクティブなプロファイルは削除不可)。
GetCachedProfilesTArray<FString>キャッシュされたプロファイル名。
GetCurrentProfileNameFStringキャッシュされた現在のプロファイル。
GetProfileParameterParameterCategory, ParameterNameプロファイルの設定パラメーターを読み取ります。
SetProfileParameterParameterCategory, ParameterName, ParameterValueプロファイルの設定パラメーターを書き込みます。
GetStreamServiceSettingsなし配信サービス設定を取得します(OnStreamServiceSettingsReceived を発火)。
SetStreamServiceSettingsSettings配信サービス設定を行います(FOBSStreamServiceSettings)。
SetStreamServiceSettingsFromStringServiceType, JsonSettingsJSON から設定します。
SetSimpleRTMPSettingsServer, StreamKeyカスタム RTMP の簡易セットアップ。
GetCachedStreamServiceSettingsFOBSStreamServiceSettingsキャッシュされた設定。
GetVideoSettingsなし映像設定を取得します(OnVideoSettingsReceived を発火)。
SetVideoSettingsSettings映像設定を行います(配信中・録画中は不可)。
SetBaseResolutionWidth, Heightキャンバスの解像度を設定します。
SetOutputResolutionWidth, Heightスケーリング後の出力解像度を設定します。
SetFPSFpsNumerator, FpsDenominator=1FPS を分数で設定します。
GetCachedVideoSettingsFOBSVideoSettingsキャッシュされた映像設定。
GetPersistentDataRealm, SlotName永続スロットを読み取ります(OnPersistentDataReceived を発火)。
SetPersistentDataRealm, SlotName, SlotValueJsonboolJSON 値からスロットに書き込みます(空の場合は null)。無効な JSON は false を返し、何も送信しません。
SetPersistentDataStringRealm, SlotName, SlotValueプレーン文字列としてスロットに書き込みます。
GetCachedPersistentDataRealm, SlotName, OutSlotValueJsonboolキャッシュされたスロットを読み取ります。

RealmEOBSDataRealmGlobal または Profile)です。C++ 専用: SetStreamServiceSettingsRaw(JSON オブジェクト)。

イベントパラメーター説明
OnStreamServiceSettingsReceived設定配信サービス設定が取得されました。
OnVideoSettingsReceived設定映像設定が取得されました。
OnPersistentDataReceivedスロット値永続スロットが取得されました。
OnCurrentSceneCollectionChanging名前シーンコレクションが変更されようとしています。
OnCurrentSceneCollectionChanged名前シーンコレクションが変更されました。
OnSceneCollectionListChanged一覧シーンコレクションの一覧が変更されました。
OnCurrentProfileChanging名前プロファイルが変更されようとしています。
OnCurrentProfileChanged名前プロファイルが変更されました。
OnProfileListChanged一覧プロファイルの一覧が変更されました。

UInhyeongOBSGeneral

ドメインをまたぐ操作(パフォーマンス統計、ホットキー、ベンダー(サードパーティプラグイン)リクエスト、カスタム/終了イベント、アウトバウンドのゲームイベント発火)を扱います。GetClient()->GetGeneral() でアクセスします(OBS バージョンはクライアントが GetOBSVersion / IsOBSVersionAtLeast を通じて直接取得します)。EmitGameEvent はサブシステムに転送されます。それ以外はハンドラー固有です。

関数パラメーター説明
GetStatsなしパフォーマンス統計をリクエストします(OnStatsReceived を発火)。
GetCachedStatsFOBSStats最新の統計情報。
GetHotkeyListなし全ホットキー名をリクエストします(OnHotkeyListReceived を発火)。
GetCachedHotkeysTArray<FString>キャッシュされたホットキー名。
TriggerHotkeyByNameHotkeyName, ContextName=""名前でホットキーをトリガーします。
TriggerHotkeyByKeySequenceKeyId, bShift=false, bControl=false, bAlt=false, bCommand=falseキー ID と修飾キーでホットキーをトリガーします。
BroadcastCustomEventEventDataJson他の WebSocket クライアントにカスタムイベントをブロードキャストします。
CallVendorRequestVendorName, RequestType, RequestDataJsonサードパーティプラグインのリクエストを呼び出します(OnVendorResponseReceived を発火)。
EmitGameEventEventName, PayloadJson, Realm="inhyeongobs"bool名前空間付きのゲームイベントを発火します(無効なペイロード JSON の場合は false を返します)。
EmitGameEventMapEventName, Payload (TMap), Realm="inhyeongobs"EmitGameEvent のマップベースの便利版。
イベントパラメーター説明
OnStatsReceived統計情報パフォーマンス統計が到着しました。
OnHotkeyListReceivedホットキーホットキーの一覧が到着しました。
OnExitStartedなしOBS がシャットダウンを開始しました。
OnVendorEventベンダーペイロードベンダー(プラグイン)イベントが到着しました。
OnCustomEventカスタムペイロード別のクライアントからカスタムイベントが到着しました。
OnVendorResponseReceivedベンダーレスポンスCallVendorRequest の返答が到着しました。

関連項目

  • Subsystem API:これらのハンドラーをラップする約 100 の便利メソッドを持つ GameInstance ファサード。
  • Events:完全なイベントカタログ、ペイロード構造体、およびデリゲートのシグネチャ。