SKWPublication

Objective-C


@interface SKWPublication : NSObject

Swift

class Publication : NSObject

Publication

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

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

  • id

    Publicationを識別するためのID

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSString *_Nonnull id;

    Swift

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

    Declaration

    Objective-C

    @property (nonatomic, readonly) SKWMember *_Nullable publisher;

    Swift

    var publisher: Member? { get }
  • このPublicationに紐づくSubscription一覧

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSArray<SKWSubscription *> *_Nonnull subscriptions;

    Swift

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

    Declaration

    Objective-C

    @property (nonatomic, readonly) SKWContentType contentType;

    Swift

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

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSString *_Nullable metadata;

    Swift

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

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSArray<SKWCodec *> *_Nonnull codecCapabilities;

    Swift

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

    Declaration

    Objective-C

    @property (nonatomic, readonly) NSArray<SKWEncoding *> *_Nonnull encodings;

    Swift

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

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

    Declaration

    Objective-C

    @property (nonatomic, readonly) SKWPublicationState state;

    Swift

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

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

    Declaration

    Objective-C

    @property (nonatomic, readonly) SKWLocalStream *_Nullable stream;

    Swift

    var stream: LocalStream? { get }
  • Undocumented

    Declaration

    Objective-C

    @property(nonatomic, readonly) SKWPublication* _Nullable origin

    Swift

    var origin: Publication? { get }
  • Unavailable

    Undocumented

    Declaration

    Objective-C

    - (id _Nonnull)init NS_UNAVAILABLE;
  • メタデータを更新します。

    Declaration

    Objective-C

    - (void)updateMetadata:(NSString *_Nonnull)metadata
                completion:
                    (SKWPublicationUpdateMetadataCompletion _Nullable)completion;

    Swift

    func updateMetadata(_ metadata: String) async throws

    Parameters

    metadata

    メタデータ

    completion

    完了コールバック

  • Deprecated

    SkyWayCore v2.0.7で非推奨となりました。

    Publishを中止します

    Declaration

    Objective-C

    - (void)cancelWithCompletion:
        (SKWPublicationCancelCompletion _Nullable)completion;

    Swift

    func cancel() async throws

    Parameters

    completion

    完了コールバック

  • Publicationを有効状態にします。

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

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

    Declaration

    Objective-C

    - (void)enableWithCompletion:
        (SKWPublicationEnableCompletion _Nullable)completion;

    Swift

    func enable() async throws

    Parameters

    completion

    完了コールバック

  • Publicationを無効状態にします。

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

    Declaration

    Objective-C

    - (void)disableWithCompletion:
        (SKWPublicationDisableCompletion _Nullable)completion;

    Swift

    func disable() async throws

    Parameters

    completion

    完了コールバック

  • Deprecated

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

    Undocumented

    Declaration

    Objective-C

    - (SKWWebRTCStats* _Nullable)getStatsWithMemberId:(NSString* _Nonnull)memberId
        NS_SWIFT_NAME(getStats(withMemberId:))
            __attribute__((deprecated("SkyWayCore v2.0.0で非推奨となりました。")));

    Swift

    func getStats(withMemberId memberId: String) -> WebRTCStats?
  • エンコーディング設定を更新します。

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

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

    IDの変更は行えません。

    Declaration

    Objective-C

    - (void)updateEncodings:(NSArray<SKWEncoding *> *_Nonnull)encodings;

    Swift

    func updateEncodings(_ encodings: [Encoding])
  • 送信するストリームを切り替えます。

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

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

    Declaration

    Objective-C

    - (void)replaceStream:(SKWLocalStream *_Nonnull)stream;

    Swift

    func replaceStream(_ stream: LocalStream)

    Parameters

    stream

    ストリーム

  • イベントデリゲート

    See more

    Declaration

    Objective-C

    @property (nonatomic, weak) id<SKWPublicationDelegate> _Nullable delegate;

    Swift

    weak var delegate: (any PublicationDelegate)? { get set }