Interface RoomPublication<T>

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

Type Parameters

Properties

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

[japanese] publicationを無効化する

enable: (() => Promise<void>)

[japanese] publicationを有効化する

encodings: EncodingParameters[]

[japanese] Encode設定

id: string
metadata?: string
onConnectionStateChanged: Event<{
    remoteMember?: RoomMember;
    state: TransportConnectionState;
}>

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

onDisabled: Event<void>

[japanese] このPublicationが無効化されたときに発火するイベント

onEnabled: Event<void>

[japanese] このPublicationが有効化されたときに発火するイベント

onMetadataUpdated: Event<{
    metadata: string;
}>

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

onStateChanged: Event<void>

[japanese] このPublicationの有効化状態が変化したときに発火するイベント

[japanese] このPublicationがSubscribeされたときに発火するイベント

onSubscriptionListChanged: Event<void>

[japanese] このPublicationをSubscribeするSubscriptionの数が変わったときに発火するイベント

[japanese] このPublicationがUnsubscribeされたときに発火するイベント

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

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

[japanese] Publicationの状態

  • enabled : 配信中
  • disabled : 配信停止中
  • canceled : 配信終了
stream?: T

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

subscriptions: RoomSubscription<RemoteStream>[]

[japanese] このPublicationをSubscribeしているSubscriptionの一覧

type: null | "sfu" | "p2p"
updateEncodings: ((encodings: EncodingParameters[]) => void)

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

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

[japanese] Metadataの更新

Methods

  • Parameters

    • selector: string | RoomMember

      [japanese] 接続相手

    Returns TransportConnectionState

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

  • Experimental

    Parameters

    Returns undefined | RTCPeerConnection

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

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

  • Experimental

    Parameters

    Returns Promise<WebRTCStats>

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

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