Classes

The following classes are available globally.

  • 音声入力ソースの抽象クラス

    See more

    Declaration

    Objective-C

    
    @interface SKWAudioSource : NSObject

    Swift

    class AudioSource : NSObject
  • カメラプレビュー用View

    描画するためにはSKWCameraVideoSourceattachView(_)に引数を渡してください。

    StoryboardのCustom Classを利用する場合はCameraPreviewViewではなくSKWCameraPreviewViewを指定して下さい。

    See more

    Declaration

    Objective-C

    
    @interface SKWCameraPreviewView
  • カメラキャプチャオプション

    それぞれのプロパティからAVCaptureDeviceFormatを決定するために利用されます。

    See more

    Declaration

    Objective-C

    
    @interface SKWCameraCaptureOptions : NSObject

    Swift

    class CameraCaptureOptions : NSObject
  • カメラ映像入力ソース

    他の映像入力ソースとは異なり、シングルトンインスタンスを利用してください。

    インスタンスはSKWCameraVideoSource.shared()から取得できます。

    StreamはcreateStream()より作成できますが、実際に映像を描画するためにはstartCapturing(with:options:completion:)でキャプチャを開始する必要があります。

    See more

    Declaration

    Objective-C

    
    @interface SKWCameraVideoSource : SKWVideoSource

    Swift

    class CameraVideoSource : VideoSource
  • Channel初期化オプション

    See more

    Declaration

    Objective-C

    
    @interface SKWChannelInit : NSObject

    Swift

    class ChannelInit : NSObject
  • Channel検索クエリ

    See more

    Declaration

    Objective-C

    
    @interface SKWChannelQuery : NSObject

    Swift

    class ChannelQuery : NSObject
  • Member初期化オプション

    See more

    Declaration

    Objective-C

    
    @interface SKWMemberInit : NSObject

    Swift

    class MemberInit : NSObject
  • チャンネル

    See more

    Declaration

    Objective-C

    
    @interface SKWChannel : NSObject

    Swift

    class Channel : NSObject
  • コーデックパラメータ

    See more

    Declaration

    Objective-C

    
    @interface SKWCodecParameters : NSObject

    Swift

    class CodecParameters : NSObject
  • コーデック設定

    See more

    Declaration

    Objective-C

    
    @interface SKWCodec : NSObject

    Swift

    class Codec : NSObject
  • SkyWay全体の設定、取得を行うStaticなコンテキスト

    See more

    Declaration

    Objective-C

    
    @interface SKWContext : NSObject

    Swift

    class Context : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWContextOptionsRTCAPI : NSObject
    
    @property(nonatomic) NSString* _Nullable domain;
    @property(nonatomic) BOOL secure;
    
    @end

    Swift

    class ContextOptionsRTCAPI : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWContextOptionsICEParams : NSObject
    
    @property(nonatomic) NSString* _Nullable domain;
    @property(nonatomic) int version;
    @property(nonatomic) BOOL secure;
    
    @end

    Swift

    class ContextOptionsICEParams : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWContextOptionsSignaling : NSObject
    
    @property(nonatomic) NSString* _Nullable domain;
    @property(nonatomic) BOOL secure;
    
    @end

    Swift

    class ContextOptionsSignaling : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWContextOptionsAnalytics : NSObject
    
    @property(nonatomic) NSString* _Nullable domain;
    @property(nonatomic) BOOL secure;
    
    @end

    Swift

    class ContextOptionsAnalytics : NSObject
  • WebRTCに関するオプション

    See more

    Declaration

    Objective-C

    
    @interface SKWContextOptionsRTCConfig : NSObject

    Swift

    class ContextOptionsRTCConfig : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWContextOptionsToken : NSObject
    
    /// トークン失効リマインダー時間(秒)
    ///
    /// `Context.delegate`がセットされている時に有効です。
    ///
    /// デフォルトは60秒です。
    @property(nonatomic) int remindTimeInSec;
    
    @end

    Swift

    class ContextOptionsToken : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWContextOptions : NSObject
    
    /// ログレベル
    @property(nonatomic) SKWLogLevel logLevel;
    
    /// 内部向けオプション
    @property(nonatomic) SKWContextOptionsRTCAPI* _Nonnull rtcApi;
    /// 内部向けオプション
    @property(nonatomic) SKWContextOptionsICEParams* _Nonnull iceParams;
    /// 内部向けオプション
    @property(nonatomic) SKWContextOptionsSignaling* _Nonnull signaling;
    /// 内部向けオプション
    @property(nonatomic) SKWContextOptionsAnalytics* _Nonnull analytics;
    /// WebRTCに関するオプション
    @property(nonatomic) SKWContextOptionsRTCConfig* _Nonnull rtcConfig;
    /// SkyWayAuthTokenに関するオプション
    @property(nonatomic) SKWContextOptionsToken* _Nonnull token;
    
    @end

    Swift

    class ContextOptions : NSObject
  • 画像フレームの映像入力ソース

    CMSampleBufferの画像フレームをループ内からアップデートして描画を行います。

    ReplayKitと組み合わせることでアプリの画面をソースにして画面共有が行えます。

    let source: CustomFrameVideoSource = .init()
    RPScreenRecorder.shared().startCapture { buffer, _, err in
        guard err == nil else {
            return
        }
        source.updateFrame(with: buffer)
    } completionHandler: { _ in }
    
    let stream = source.createStream()
    
    See more

    Declaration

    Objective-C

    
    @interface SKWCustomFrameVideoSource : SKWVideoSource

    Swift

    class CustomFrameVideoSource : VideoSource
  • データ入力ソース

    See more

    Declaration

    Objective-C

    
    @interface SKWDataSource : NSObject

    Swift

    class DataSource : NSObject
  • エンコード設定

    See more

    Declaration

    Objective-C

    
    @interface SKWEncoding : NSObject

    Swift

    class Encoding : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWErrorFactory : NSObject
    
    + (NSError* _Nonnull)availableCameraIsMissing;
    + (NSError* _Nonnull)cameraIsNotSet;
    + (NSError* _Nonnull)contextSetupError;
    + (NSError* _Nonnull)channelFindError;
    + (NSError* _Nonnull)channelCreateError;
    + (NSError* _Nonnull)channelFindOrCreateError;
    + (NSError* _Nonnull)channelJoinError;
    + (NSError* _Nonnull)channelLeaveError;
    + (NSError* _Nonnull)channelCloseError;
    + (NSError* _Nonnull)memberUpdateMetadataError;
    + (NSError* _Nonnull)memberLeaveError;
    + (NSError* _Nonnull)localPersonPublishError;
    + (NSError* _Nonnull)localPersonSubscribeError;
    + (NSError* _Nonnull)localPersonUnpublishError;
    + (NSError* _Nonnull)localPersonUnsubscribeError;
    + (NSError* _Nonnull)remotePersonSubscribeError;
    + (NSError* _Nonnull)remotePersonUnsubscribeError;
    + (NSError* _Nonnull)publicationUpdateMetadataError;
    + (NSError* _Nonnull)publicationCancelError;
    + (NSError* _Nonnull)publicationEnableError;
    + (NSError* _Nonnull)publicationDisableError;
    + (NSError* _Nonnull)subscriptionCancelError;
    + (NSError* _Nonnull)contextDisposeError;
    + (NSError* _Nonnull)fatalErrorRAPIReconnectFailedError;
    + (NSError* _Nonnull)channelUpdateMetadataError;
    
    @end

    Swift

    class SKWErrorFactory : NSObject
  • 動画ファイル入力ソース

    ファイルに音声が含まれる場合でも、映像のみ扱われることに注意してください。

    See more

    Declaration

    Objective-C

    
    @interface SKWFileVideoSource : SKWVideoSource

    Swift

    class FileVideoSource : VideoSource
  • LocalAudioStreamクラス

    SourceのcreateStream()から生成してください。

    See more

    Declaration

    Objective-C

    
    @interface SKWLocalAudioStream : SKWLocalStream

    Swift

    class LocalAudioStream : LocalStream
  • LocalDataStreamクラス

    SourceのcreateStream()から生成してください。

    See more

    Declaration

    Objective-C

    
    @interface SKWLocalDataStream : SKWLocalStream

    Swift

    class LocalDataStream : LocalStream
  • このSDKで生成されたLocalMember

    See more

    Declaration

    Objective-C

    
    @interface SKWLocalPerson : SKWMember

    Swift

    class LocalPerson : Member
  • 抽象LocalStreamクラス

    LocalPersonはLocalStreamをSourceから作成し、Publishすることができます。

    同じLocalStreamインスタンスを複数回Publishすることはできません。

    See more

    Declaration

    Objective-C

    
    @interface SKWLocalStream : SKWStream

    Swift

    class LocalStream : Stream
  • LocalVideoStreamクラス

    各種VideoSourceのcreateStream()から生成してください。

    See more

    Declaration

    Objective-C

    
    @interface SKWLocalVideoStream : SKWLocalStream <SKWVideoStreamProtocol>

    Swift

    class LocalVideoStream : LocalStream, VideoStreamProtocol
  • 内部Swiftモジュール向けロガークラス

    See more

    Declaration

    Objective-C

    
    @interface SKWLogger : NSObject

    Swift

    class Logger : NSObject
  • Channelに入室しているMemberの抽象クラス

    See more

    Declaration

    Objective-C

    
    @interface SKWMember : NSObject

    Swift

    class Member : NSObject
  • マイク入力ソース

    See more

    Declaration

    Objective-C

    
    @interface SKWMicrophoneAudioSource : SKWAudioSource

    Swift

    class MicrophoneAudioSource : AudioSource
  • プラグイン基底クラス

    See more

    Declaration

    Objective-C

    
    @interface SKWPlugin : NSObject

    Swift

    class Plugin : NSObject
  • Publication

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

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

    See more

    Declaration

    Objective-C

    
    @interface SKWPublication : NSObject

    Swift

    class Publication : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWPublicationOptions : NSObject
    
    /// Publicationに付与するメタデータ
    @property NSString* _Nullable metadata;
    
    /// 指定コーデック
    ///
    /// SkyWayが対応していないコーデックが選択された場合はこのオプションは無視されます。
    ///
    /// SFU Botは非対応です。 SFU RoomのPublishまたはSFU
    /// BotにおけるStartForwardingでこの値が設定されている場合は失敗します。
    @property NSArray<SKWCodec*>* _Nonnull codecCapabilities;
    
    /// エンコーディング設定
    ///
    /// SFUを利用する場合、複数設定がある場合のみサイマルキャストが有効になります。
    ///
    /// P2P通信において複数設定されている場合は最大ビットレートが低いまたはスケールダウン指数が高いエンコーディング設定が有効になります。
    ///
    /// 詳しい設定例については開発者ドキュメントの[大規模会議アプリを実装する上での注意点](https://skyway.ntt.com/ja/docs/user-guide/tips/large-scale/)をご覧ください。
    @property NSArray<SKWEncoding*>* _Nonnull encodings;
    
    /// Publicationが有効かどうか
    @property BOOL isEnabled;
    
    @end

    Swift

    class PublicationOptions : NSObject
  • RemoteAudioStreamクラス

    Declaration

    Objective-C

    
    @interface SKWRemoteAudioStream : SKWRemoteStream

    Swift

    class RemoteAudioStream : RemoteStream
  • RemoteDataStreamクラス

    See more

    Declaration

    Objective-C

    
    @interface SKWRemoteDataStream : SKWRemoteStream

    Swift

    class RemoteDataStream : RemoteStream
  • Undocumented

    Declaration

    Objective-C

    
    @interface SKWRemoteMember : SKWMember

    Swift

    class RemoteMember : Member
  • Undocumented

    See more

    Declaration

    Objective-C

    
    @interface SKWRemotePerson : SKWRemoteMember

    Swift

    class RemotePerson : RemoteMember
  • 抽象RemoteStreamクラス

    Declaration

    Objective-C

    
    @interface SKWRemoteStream : SKWStream

    Swift

    class RemoteStream : Stream
  • RemoteVideoStream

    See more

    Declaration

    Objective-C

    
    @interface SKWRemoteVideoStream : SKWRemoteStream <SKWVideoStreamProtocol>

    Swift

    class RemoteVideoStream : RemoteStream, VideoStreamProtocol
  • Stream抽象クラス

    See more

    Declaration

    Objective-C

    
    @interface SKWStream : NSObject

    Swift

    class Stream : NSObject
  • SubscriptionはLocalMemberがSubscribeした時に取得でき、Subscriptionに含まれるStreamを利用して映像を描画したりします。

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

    See more

    Declaration

    Objective-C

    
    @interface SKWSubscription : NSObject

    Swift

    class Subscription : NSObject
  • Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWSubscriptionOptions : NSObject
    
    //@property BOOL isEnabled;
    @property(nonatomic) NSString* _Nullable preferredEncodingId;
    
    @end

    Swift

    class SubscriptionOptions : NSObject
  • Undocumented

    Declaration

    Objective-C

    @interface SKWUnknownMember : SKWRemoteMember

    Swift

    class SKWUnknownMember : RemoteMember
  • 映像入力ソースの抽象クラス

    See more

    Declaration

    Objective-C

    
    @interface SKWVideoSource : NSObject

    Swift

    class VideoSource : NSObject
  • Videoを描画するView

    描画するためにはSKWLocalVideoStreamまたはSKWRemoteVideoStreamattach(_:)に引数を渡してください。

    StoryboardのCustom Classを利用する場合はVideoViewではなくSKWVideoViewを指定して下さい。

    グラフィックスAPIはMetalを利用しています。

    See more

    Declaration

    Objective-C

    
    @interface SKWVideoView
  • Deprecated

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

    Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWWebRTCStats : NSObject
    
    /// WebRTC統計情報の一覧
    @property(nonatomic, readonly) NSArray<SKWWebRTCStatsReport*>* _Nonnull reports;
    
    - (id _Nonnull)init NS_UNAVAILABLE;
    
    @end

    Swift

    class WebRTCStats : NSObject
  • Deprecated

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

    Undocumented

    See more

    Declaration

    Objective-C

    @interface SKWWebRTCStatsReport : NSObject
    
    /// 統計情報のID
    @property(nonatomic, readonly) NSString* _Nonnull id;
    
    /// 統計情報のType
    ///
    /// Type一覧はこちらをご確認ください。
    /// https://w3c.github.io/webrtc-stats/#rtctatstype-*
    @property(nonatomic, readonly) NSString* _Nonnull type;
    
    /// IDとType以外のパラメータ
    ///
    /// パラメータはtypeに応じて値が異なります。
    ///
    /// 例えば、typeが`codec`の場合はこのkey, valueの組み合わせになります。
    ///
    /// https://w3c.github.io/webrtc-stats/#codec-dict*
    ///
    /// valueの取りうる値の型は、NSString, NSNumber , NSDataです。
    ///
    /// BoolはNSNumber(0 or 1)で表現されます。
    ///
    /// 配列・オブジェクトの場合、JSON文字列をNSData型で返します。
    @property(nonatomic, readonly) NSDictionary<NSString*, NSObject*>* _Nonnull params;
    
    - (id _Nonnull)init NS_UNAVAILABLE;
    
    @end

    Swift

    class WebRTCStatsReport : NSObject