Configuration

public struct Configuration

クライアントに関する設定です。

接続に関する設定

  • スポットライトの設定

    See more

    Declaration

    Swift

    public enum Spotlight
  • シグナリングに利用する URL の候補

    Declaration

    Swift

    public var urlCandidates: [URL]
  • チャネル ID

    Declaration

    Swift

    public var channelId: String
  • クライアント ID

    Declaration

    Swift

    public var clientId: String?
  • バンドル ID

    Declaration

    Swift

    public var bundleId: String?
  • ロール

    Declaration

    Swift

    public var role: Role
  • マルチストリームの可否

    Declaration

    Swift

    @available(*, deprecated, message: "レガシーストリーム機能は 2025 年 6 月リリースの Sora にて廃止します。そのため multistreamEnabled の使用は非推奨です。\nこのプロパティは 2027 年中に廃止予定です。")
    public var multistreamEnabled: Bool?
  • 接続試行中のタイムアウト (秒) 。 指定した時間内に接続が成立しなければ接続試行を中止します。

    Declaration

    Swift

    public var connectionTimeout: Int
  • 映像コーデック。デフォルトは .default です。

    Declaration

    Swift

    public var videoCodec: VideoCodec
  • 映像ビットレート。デフォルトは無指定です。

    Declaration

    Swift

    public var videoBitRate: Int?
  • カメラの設定

    Declaration

    Swift

    public var cameraSettings: CameraSettings
  • 音声コーデック。デフォルトは .default です。

    Declaration

    Swift

    public var audioCodec: AudioCodec
  • 音声ビットレート。デフォルトは無指定です。

    Declaration

    Swift

    public var audioBitRate: Int?
  • 映像の可否。 true であれば映像を送受信します。 デフォルトは true です。

    Declaration

    Swift

    public var videoEnabled: Bool
  • 音声の可否。 true であれば音声を送受信します。 デフォルトは true です。

    Declaration

    Swift

    public var audioEnabled: Bool
  • 接続確立時に端末カメラキャプチャを自動起動するかどうか。

    cameraSettings.isEnabledtrue の場合でも、このフラグが false であれば 接続時点ではカメラキャプチャを起動しません。 後から MediaChannel.setVideoHardMute(false) で必要に応じて開始できます。

    Declaration

    Swift

    public var initialCameraEnabled: Bool
  • 接続確立時にマイクを有効にするかどうか。

    このフラグが false であれば接続時点ではマイク入力は無効となります。(ハードミュート相当) 後から MediaChannel.setAudioHardMute(false) で必要に応じてマイクを有効にできます。

    Declaration

    Swift

    public var initialMicrophoneEnabled: Bool
  • サイマルキャストの可否。 true であればサイマルキャストを有効にします。

    Declaration

    Swift

    public var simulcastEnabled: Bool
  • サイマルキャストでの映像の種類。 ロールが .sendrecv または .recvonly かつ simulcastEnabled が true のときのみ有効です。

    simulcastRequestRid と同時に設定された場合、Sora 2025.2.0 以降では simulcastRequestRid が優先されます。

    Declaration

    Swift

    @available(*, deprecated, message: "シグナリング接続時の simulcast_rid は 2027 年 12 月リリース予定の Sora にて\n廃止予定であるため、このプロパティは非推奨です。\n代わりに SimulcastRequestRid を使用してください。")
    public var simulcastRid: SimulcastRid?
  • サイマルキャストで視聴する映像の種類。 ロールが .sendrecv または .recvonly かつ simulcastEnabled が true のときのみ有効です。

    このプロパティは Sora 2025.2.0 以降で利用可能です。

    Declaration

    Swift

    public var simulcastRequestRid: SimulcastRequestRid
  • スポットライトの可否 詳しくは Sora のスポットライト機能を参照してください。

    Declaration

    Swift

    public var spotlightEnabled: Spotlight
  • スポットライトの対象人数

    Declaration

    Swift

    public var spotlightNumber: Int?
  • スポットライト機能でフォーカスした場合の映像の種類

    Declaration

    Swift

    public var spotlightFocusRid: SpotlightRid
  • スポットライト機能でフォーカスしていない場合の映像の種類

    Declaration

    Swift

    public var spotlightUnfocusRid: SpotlightRid
  • WebRTC に関する設定

    Declaration

    Swift

    public var webRTCConfiguration: WebRTCConfiguration
  • connect シグナリングに含めるメタデータ

    Declaration

    Swift

    public var signalingConnectMetadata: Encodable?
  • connect シグナリングに含める通知用のメタデータ

    Declaration

    Swift

    public var signalingConnectNotifyMetadata: Encodable?
  • シグナリングにおける DataChannel の利用可否。 true の場合、接続確立後のシグナリングを DataChannel 経由で行います。

    Declaration

    Swift

    public var dataChannelSignaling: Bool?
  • メッセージング機能で利用する DataChannel の設定

    Declaration

    Swift

    public var dataChannels: Any?
  • DataChannel 経由のシグナリングを利用している際に、 WebSocket が切断されても Sora との接続を継続するためのフラグ。 詳細: https://sora-doc.shiguredo.jp/DATA_CHANNEL_SIGNALING#07c227

    Declaration

    Swift

    public var ignoreDisconnectWebSocket: Bool?
  • 音声ストリーミング機能で利用する言語コード

    Declaration

    Swift

    public var audioStreamingLanguageCode: String?
  • プロキシに関する設定

    Declaration

    Swift

    public var proxy: Proxy?
  • 転送フィルターの設定

    この項目は 2025 年 12 月リリース予定の Sora にて廃止されます

    Declaration

    Swift

    public var forwardingFilter: ForwardingFilter?
  • リスト形式の転送フィルターの設定

    Declaration

    Swift

    public var forwardingFilters: [ForwardingFilter]?
  • VP9 向け映像コーデックパラメーター

    Declaration

    Swift

    public var videoVp9Params: Encodable?
  • AV1 向け映像コーデックパラメーター

    Declaration

    Swift

    public var videoAv1Params: Encodable?
  • H264 向け映像コーデックパラメーター

    Declaration

    Swift

    public var videoH264Params: Encodable?

イベントハンドラ

パブリッシャーに関する設定

  • パブリッシャーのストリームの ID です。 通常、指定する必要はありません。

    Declaration

    Swift

    public var publisherStreamId: String
  • パブリッシャーの映像トラックの ID です。 通常、指定する必要はありません。

    Declaration

    Swift

    public var publisherVideoTrackId: String
  • パブリッシャーの音声トラックの ID です。 通常、指定する必要はありません。

    Declaration

    Swift

    public var publisherAudioTrackId: String
  • 初期化します。

    Declaration

    Swift

    public init(
      url: URL,
      channelId: String,
      role: Role,
      multistreamEnabled: Bool? = nil
    )

    Parameters

    url

    サーバーの URL

    channelId

    チャネル ID

    role

    ロール

    multistreamEnabled

    マルチストリームの可否(デフォルトは指定なし)

  • 初期化します。

    Declaration

    Swift

    public init(
      urlCandidates: [URL],
      channelId: String,
      role: Role,
      multistreamEnabled: Bool? = nil
    )

    Parameters

    urlCandidates

    シグナリングに利用する URL の候補

    channelId

    チャネル ID

    role

    ロール

    multistreamEnabled

    マルチストリームの可否(デフォルトは指定なし)