join API を呼び出すときの connectOptions で、useDummyDevice を true に設定することで通話開始時のカメラとマイクがダミーデバイスとなりデバイスなしで参加可能になります。
await frame.join({
clientId: 'hoge',
acccessToken: accessToken,
connectOptions: {
username: 'huga'
enableVideo: true,
enableAudio: true,
useDummyDevice: true
}
});
下記のようにダミーデバイスを生成し、それ を利用することでマイク/カメラデバイスが無い環境などでも利用できます。
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)
}
})
この情報は役に立ちましたか?