カメラ/マイクを使わず受信のみモードで接続したい

RICOH Live Streaming Conference (Web Application Component)の場合

join APIを呼び出すときのconnectOptionsで、useDummyDeviceをtrueに設定することで通話開始時のカメラとマイクがダミーデバイスとなりデバイスなしで参加可能になります。

await frame.join({
  clientId: 'hoge',
  acccessToken: accessToken,
  connectOptions: {
    username: 'huga'
    enableVideo: true,
    enableAudio: true,
    useDummyDevice: true
  }
});

RICOH Live Streaming Client SDK for Webの場合

下記のようにダミーデバイスを生成し、それを利用することでマイク/カメラデバイスが無い環境などでも利用できます。

function getDummyMedia() {
  if ("function" !== typeof HTMLCanvasElement.prototype.captureStream) return null;
  const canvas = document.createElement("canvas");
  canvas.getContext("2d");
  return canvas.captureStream();
}

$("#join").addEventListener("click", async (e) => {
  const stream = getDummyMedia();
  const access_token = accessToken(Credentials.CLIENT_SECRET, { type: "sfu"});
  const localLSTracks = stream.getTracks().map((mediaStreamTrack) => {
    return new LSSDK.LSTrack(mediaStreamTrack, stream, { mute: "softmute" });
  });
  try {
    client = createClient();
    const connectOption = { localLSTracks };
    client.connect(Credentials.CLIENT_ID, access_token, connectOption);
  } catch (e) {
    console.log(e);
  }
});