RoomPublication

@objc
open class RoomPublication : NSObject, Identifiable

Room SDKにおけるPublication

Core SDKのPublicationのラッパークラス

PublicationはLocalMemberがPublishした時に取得でき、Roomに参加している他クライアント(RemoteMember)がSubscribeされると通信を行います。

Roomなどから他の人のPublicationも取得することはできますが、その場合Streamは含まれません。

  • id

    Publicationを識別するためのID

    Declaration

    Swift

    @objc
    public var id: String { get }
  • このPublicationを生成したMember

    Declaration

    Swift

    @objc
    public var publisher: RoomMember? { get }
  • このPublicationに紐づくSubscription一覧

    Declaration

    Swift

    @objc
    public var subscriptions: [RoomSubscription] { get }
  • PublishしているStreamのコンテントタイプ

    Declaration

    Swift

    @objc
    public var contentType: ContentType { get }
  • メタデータ

    Declaration

    Swift

    @objc
    public var metadata: String? { get }
  • コーデック指定

    Declaration

    Swift

    @objc
    public var codecCapabilities: [Codec] { get }
  • エンコーディング設定

    詳しい設定例については開発者ドキュメントの大規模会議アプリを実装する上での注意点をご覧ください。

    Declaration

    Swift

    @objc
    public var encodings: [Encoding] { get }
  • ステート

    Canceledの場合、このオブジェクトの操作は無効です。

    Declaration

    Swift

    @objc
    public var state: PublicationState { get }
  • このPublicationに紐づくStream

    LocalRoomMemberがPublishした時に得られるPublicationのみセットされます。

    Declaration

    Swift

    @objc
    public var stream: LocalStream? { get }
  • イベントデリゲート

    Declaration

    Swift

    @objc
    public var delegate: RoomPublicationDelegate? { get set }
  • updateMetadata(_:) Asynchronous

    メタデータを更新します。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func updateMetadata(_ metadata: String) async throws

    Parameters

    metadata

    更新するメタデータ

  • メタデータを更新します。

    Declaration

    Swift

    @objc
    public func updateMetadata(_ metadata: String, completion: ((Error?) -> Void)?)

    Parameters

    metadata

    更新するメタデータ

    completion

    完了コールバック

  • cancel() Asynchronous

    Publishを中止します。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func cancel() async throws
  • Publishを中止します。

    Declaration

    Swift

    @objc
    public func cancel(completion: ((Error?) -> Void)?)

    Parameters

    completion

    完了コールバック

  • enable() Asynchronous

    Publicationを有効状態にします。

    このAPIはLocalPublicationのみ機能します。

    既に有効状態の場合は何もしません。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func enable() async throws
  • Publicationを有効状態にします。

    このAPIはLocalPublicationのみ機能します。

    既に有効状態の場合は何もしません。

    Declaration

    Swift

    @objc
    public func enable(completion: ((Error?) -> Void)?)

    Parameters

    completion

    完了コールバック

  • disable() Asynchronous

    Publicationを無効状態にします。

    既に無効状態の場合は何もしません。

    Declaration

    Swift

    @available(iOS 13.0, *)
    @objc
    public func disable() async throws
  • Publicationを無効状態にします。

    既に無効状態の場合は何もしません。

    Declaration

    Swift

    @objc
    public func disable(completion: ((Error?) -> Void)?)

    Parameters

    completion

    完了コールバック

  • Warning

    SkyWayRoom v2.0.0で非推奨となりました。

    Declaration

    Swift

    @available(*, deprecated, message: "SkyWayRoom v2.0.0で非推奨となりました。")
    @objc
    public func getStats(memberId: String) -> WebRTCStats?
  • エンコーディング設定を更新します。

    更新はLocalRoomMemberのPublishしたPublicationのみ有効で、ContentTypeがAudioまたはVideoの時のみ更新ができます。

    Publish時に設定したエンコーディングの数と一致している必要があります。

    IDの変更は行えません。

    Declaration

    Swift

    @objc
    public func update(_ encodings: [Encoding])

    Parameters

    encodings

    エンコーディング設定

  • 送信するストリームを切り替えます。

    このAPIはLocalRoomMemberがPublishしたPublication(Streamがnilではない)のみ操作可能で、切り替え前と同じContentTypeである必要があります。

    DataStreamを入れ替えることはできません。

    Declaration

    Swift

    @objc
    public func replace(_ stream: LocalStream)

    Parameters

    stream

    ストリーム

NSObject

  • Undocumented

    Declaration

    Swift

    override open func isEqual(_ object: Any?) -> Bool
  • Undocumented

    Declaration

    Swift

    open override var hash: Int { get }