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

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)
  }
})