Skip to content

MediaConnection

接続先Peerへのメディアチャネル接続を管理するクラスです。

SDK内部の利用のみで、コンストラクタは通常利用しません。 MediaConnectionインスタンスは、Peer#call() およびPeercallイベント で生成されます。

Sample

// 発信側
const mediaConnection = peer.call('peerID', mediaStream);

// 着信側
peer.on('call', mediaConnection => {
  // MediaStreamで応答する
  mediaConnection.answer(mediaStream);
});

Members

Name Type Description
type string コネクションタイプを示す文字列です。MediaConnectionでは、この値は'media' です。
metadata Object 発信側がPeer#call()実行時に指定したmetadataです。着信側では、発信側が指定した値になります。
localStream MediaStream Peer#call()あるいはMediaConnection#answer()で指定した自身のMediaStreamです。
open boolean コネクションがオープンしているかどうかを示します。MediaConnectionstreamイベントまたは MediaConnection#answer() が呼び出された際にオープンし、 MediaConnection#close()が呼び出されたまたはMediaConnectioncloseイベントが発生した際にクローズします。
remoteId string 接続先PeerのPeer IDです。
peer string Deprecated! 接続先PeerのPeer IDです。remoteIdを使ってください。
id string コネクションを識別するIDです。

Methods

answer(stream[, options])

発信側からのメディアチャネル接続の接続要求に対して応答します。

Parameters

Name Type Required Default Description
stream MediaStream 発信側のPeerへ送るMediaStreamオブジェクトです。
options answer options object 応答時に付与するオプションです。
answer options object
Name Type Required Default Description
videoBandwidth number 接続先Peerから受信する映像の最大帯域幅(kbps)です。
audioBandwidth number 接続先Peerから受信する音声の最大帯域幅(kbps)です。
videoCodec string 'H264'などの映像コーデックです。
audioCodec string 'PCMU'などの音声コーデックです。
videoReceiveEnabled boolean true 映像を受信のみで使う場合のフラグです。この値がtrueかつ応答するstreamに映像トラックが含まれない場合、受信のみで映像の通信を行います。
audioReceiveEnabled boolean true 音声を受信のみで使う場合のフラグです。この値がtrueかつ応答するstreamに音声トラックが含まれない場合、受信のみで音声の通信を行います。

Return value

undefined

Sample

peer.on('call', mediaConnection => {
  const recvonlyOption = {
    videoReceiveEnabled: false,
  };

  mediaConnection.answer(mediaStream, recvonlyOption);
});

close(forceClose)

接続先PeerとのMediaConnectionの接続を切断します。

Parameters

Name Type Required Default Description
forceClose boolean false この値がtrueの場合、相手のMediaConnectionも即座にcloseします。falseの場合相手は、ブラウザによるice再接続が失敗してからコネクションをcloseします。

Return value

undefined

replaceStream(stream)

送信しているMediaStreamを更新します。 受信のみモードでメディアチャネル接続を行なっている状態で、 新しいMediaStreamがメディアトラックを持つ場合、自動的に送受信モードに切り替わります。

Parameters

Name Type Required Default Description
stream MediaStream 更新対象となる新しいMediaStreamです。

Return value

undefined

getPeerConnection()

接続先PeerとのMediaConnectionが内部的に使用している RTCPeerConnection を取得します。 コネクションのopenプロパティがfalseの場合は、 null が返ります。

!!! 注意 RTCPeerConnectionを直接操作すると、SDKは正しく動作しなくなる可能性があります。

Return value

RTCPeerConnection のインスタンス または null

Sample

if (mediaConnection.open) {
  const pc = mediaConnection.getPeerConnection();

  // ...
}

Events

Event: 'stream'

MediaStreamを受信したときに発生します。

Name Type Description
stream MediaStream MediaStreamのインスタンスです。
mediaConnection.on('stream', stream => {
  // ...
});

Event: 'close'

MediaConnection#close()が呼ばれたとき、または接続先Peerとのメディアチャネル接続が切断されたときに発生します。

mediaConnection.on('close', () => {
  // ...
});