Interface Publication<T>

interface Publication<T> {
    codecCapabilities: Codec[];
    contentType: ContentType;
    disable: (() => Promise<void>);
    enable: (() => Promise<void>);
    encodings: Encoding[];
    id: string;
    metadata?: string;
    onConnectionStateChanged: Event<{
        remoteMember: RemoteMember;
        state: TransportConnectionState;
    }>;
    onDisabled: Event<void>;
    onEnabled: Event<void>;
    onMetadataUpdated: Event<{
        metadata: string;
    }>;
    onStateChanged: Event<void>;
    onSubscribed: Event<StreamSubscribedEvent>;
    onSubscriptionListChanged: Event<void>;
    onUnsubscribed: Event<StreamUnsubscribedEvent>;
    origin?: Publication<LocalStream>;
    publisher: Member;
    replaceStream: ((stream: LocalCustomVideoStream | LocalVideoStream | LocalAudioStream, options?: ReplaceStreamOptions) => void);
    state: PublicationState;
    stream?: T;
    subscriptions: Subscription<RemoteStream>[];
    type: PublicationType;
    updateEncodings: ((encodings: EncodingParameters[]) => void);
    updateMetadata: ((metadata: string) => Promise<void>);
    getConnectionState(selector: string | Member): TransportConnectionState;
    getRTCPeerConnection(selector: string | Member): undefined | RTCPeerConnection;
    getStats(selector: string | Member): Promise<WebRTCStats>;
}

Type Parameters

Properties

codecCapabilities: Codec[]
contentType: ContentType
disable: (() => Promise<void>)

[japanese] 無効化する

enable: (() => Promise<void>)
encodings: Encoding[]
id: string
metadata?: string
onConnectionStateChanged: Event<{
    remoteMember: RemoteMember;
    state: TransportConnectionState;
}>

[japanese] メディア通信の状態が変化した時に発火するイベント。 状態の現在値を参照する場合はgetConnectionStateメソッドを利用してください。 DataStreamを利用している場合、書き込み可能になったことはLocalDataStream.onWritableイベントで別途通知されます。

onDisabled: Event<void>

[japanese] 無効化された時に発火するイベント

onEnabled: Event<void>

[japanese] 有効化された時に発火するイベント

onMetadataUpdated: Event<{
    metadata: string;
}>

[japanese] Metadataが変更された時に発火するイベント

onStateChanged: Event<void>

[japanese] stateが変化した時に発火するイベント

[japanese] Subscribeされた時に発火するイベント

onSubscriptionListChanged: Event<void>

[japanese] このPublicationをSubscribeしたSubscriptionの数が変化した時に発火するイベント

[japanese] このPublicationをSubscribeしたSubscriptionがUnsubscribeされた時に発火するイベント

publisher: Member
replaceStream: ((stream: LocalCustomVideoStream | LocalVideoStream | LocalAudioStream, options?: ReplaceStreamOptions) => void)

[japanese] Publicationのstreamを同じContentTypeの別のStreamに入れ替える。 dataStreamを入れ替えることはできない。 RemoteのPublication(streamがnull)では利用不可。

stream?: T

[japanese] publishしたstreamの実体。 ローカルで作られたPublicationでなければundefinedとなる

subscriptions: Subscription<RemoteStream>[]
updateEncodings: ((encodings: EncodingParameters[]) => void)

[japanese] Video|Audio Streamの場合、encoding設定を更新する

updateMetadata: ((metadata: string) => Promise<void>)

[japanese] Metadataの更新

Methods

  • Parameters

    • selector: string | Member

      [japanese] 接続相手

    Returns TransportConnectionState

    [japanese] メディア通信の状態を取得する。 状態が変化したことはonConnectionStateChangedイベントで通知されます。

  • Experimental

    Parameters

    • selector: string | Member

      [japanese] 接続相手

    Returns undefined | RTCPeerConnection

    [japanese] 試験的なAPIです。今後インターフェースや仕様が変更される可能性があります

    [japanese] 対象のMemberとのRTCPeerConnectionを取得する。RTCPeerConnectionを直接操作すると SDK は正しく動作しなくなる可能性があります。

  • Experimental

    Parameters

    • selector: string | Member

      [japanese] 接続相手

    Returns Promise<WebRTCStats>

    [japanese] 試験的なAPIです。今後インターフェースや仕様が変更される可能性があります

    [japanese] StreamをSubscribeしているMemberとの通信の統計情報を取得する