SKWPublication
Objective-C
@interface SKWPublication : NSObject
Swift
class Publication : NSObject
Publication
PublicationはLocalMemberがPublishした時に取得でき、Roomに参加している他クライアント(RemoteMember)がSubscribeされると通信を行います。
Roomなどから他の人のPublicationも取得することはできますが、その場合Streamは含まれません。
-
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 moreDeclaration
Objective-C
@property (nonatomic, weak) id<SKWPublicationDelegate> _Nullable delegate;
Swift
weak var delegate: (any PublicationDelegate)? { get set }