SendRecv

Sora との接続/切断を管理するオブジェクトです。

警告

スポットライト機能は実験的機能のため正式版では仕様変更される可能性があります

connect()

Sora に接続します。 role sendonly/sendrecv の場合は引数に MediaStream を受け取り MediaStream を返します。 role recvonly の場合は引数には何も受けとりません。 また、role recvonly の場合で option の multistream が true の場合、戻り値は void になります。

引数

stream: MediaStream

メディアストリーム (recvonly の場合は引数にメディアストリームを渡さない)

戻り値

Promise<MediaStream | void>

// sendonly / sendrecv
const sendrecv = connection.sendrecv("sora");
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
await sendrecv.connect(mediaStream);
// recvonly
const recvonly = connection.sendrecv("sora");
await recvonly.connect();

on()

各種イベントのコールバックを設定します。

引数

kind: "disconnect" | "push" | "track" | "removetrack" | "notify" | "log" | "timeout" | "timeline" | "signaling"

イベントの種類

callback: Function

コールバック関数

戻り値

void

const sendrecv = connection.sendrecv("sora");
sendrecv.on("track", (event) => {
  // callback 処理
});

disconnect()

Sora との接続を切断します。

戻り値

Promise<void>

const sendrecv = connection.sendrecv("sora");
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
await sendrecv.connect(mediaStream);

await sendrecv.disconnect();

stopAudioTrack()

stream の audioTrack を削除します。 配信に使用されている stream の場合は対象となる peerConnection の sender も削除します。

引数

stream: MediaStream

メディアストリーム

戻り値

void

const sendrecv = connection.sendrecv("sora");
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
await sendrecv.connect(mediaStream);

sendrecv.stopAudioTrack(mediaStream);

stopVideoTrack()

stream の videoTrack を削除します。 配信に使用されている stream の場合は対象となる peerConnection の sender も削除します。

引数

stream: MediaStream

メディアストリーム

戻り値

void

const sendrecv = connection.sendrecv("sora");
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
await sendrecv.connect(mediaStream);

sendrecv.stopVideoTrack(mediaStream);

replaceAudioTrack()

stream と peerConnection に audioTrack を追加します。

引数

stream: MediaStream

メディアストリーム

audioTrack: MediaStreamTrack

メディアストリームトラック

戻り値

Promise<void>

const sendrecv = connection.sendrecv("sora");
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
await sendrecv.connect(mediaStream);

const replacedMediaStream = await navigator.mediaDevices.getUserMedia({audio: true});
await sendrecv.replaceAudioTrack(mediaStream, replacedMediaStream.getAudioTracks()[0]);

replaceVideoTrack()

stream と peerConnection に videoTrack を追加します。

引数

stream: MediaStream

メディアストリーム

videoTrack: MediaStreamTrack

メディアストリームトラック

戻り値

Promise<void>

const sendrecv = connection.sendrecv("sora");
const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
await sendrecv.connect(mediaStream);

const replacedMediaStream = await navigator.mediaDevices.getUserMedia({video: true});
await sendrecv.replaceVideoTrack(mediaStream, replacedMediaStream.getVideoTracks()[0]);

role

sendonly / sendrecv / recvonly のいずれかを返します。

戻り値

"sendonly" | "sendrecv" | "recvonly"


channelId

channelId を返します。

詳しくは Sora のドキュメント を参照してください

戻り値

string


metadata

metadata を返します。

戻り値

JSON | undefined


signalingUrl

シグナリングサーバの URL を返します。

戻り値

string


options

オプションを返します。

戻り値


debug

デバッグの有効/無効を返します。

戻り値

boolean


clientId

クライアント ID を返します。 詳しくは Sora のドキュメント を参照してください

戻り値

string | null


connectionId

コネクション ID を返します。 詳しくは Sora のドキュメント を参照してください

戻り値

string | null


authMetadata

authMetadata を返します。 詳しくは Sora のドキュメント を参照してください

戻り値

JSON


pc

peerConnection object を返します。

戻り値

RTCPeerConnection | null


e2eeSelfFingerprint

E2EE 使用時に配信する接続のフィンガープリントを返します。

戻り値

string | undefined


e2eeRemoteFingerprints

E2EE 使用時に視聴する接続のフィンガープリント一覧を返します。

戻り値

Record<string, string> | undefined


audio

音声配信中かどうかを返します。

戻り値

boolean


video

映像配信中かどうかを返します。

戻り値

boolean

© Copyright 2021, Shiguredo Inc. Created using Sphinx 4.1.1