Bonjour,
Je tente de faire un partage d’écran lors d’un appel Vidéo.
Actuellement, j’arrive bien a récupérer le MediaStream de mon navigateur et à l’enregistrer dans mon localStream.
Ce qui fait que je vois bien ce que je partage.
En revanche, la personne distante ne vois pas mon partage.
De plus, je ne comprend pas bien comment utiliser les fonctions du SDK:
async startScreenSharing(constraints: Record<string, any>, callSession?: CallSession): Promise<MediaStream | null> {
return this.phone?.startScreenSharing(constraints, callSession) || null;
}
stopScreenSharing(callSession?: CallSession, restoreLocalStream = true): Promise<OutgoingInviteRequest | void | null> {
return this.phone ? this.phone.stopScreenSharing(restoreLocalStream, callSession) : Promise.resolve();
}
startScreenSharing est une promise qui ne renvoi pas de resolve.
J’aurais pensé que ça me permettrait de mettre à jour mon callSession.screensharing = true
et seul stopScreenSharing resolve la promise précédente.
Et je ne vois pas de websocket qui pourrait être reçu par le destinataire lorsque je partage mon écran.
Je ne vois pas de SetMediaStream ou autre fonction du genre.
Je ne sais donc pas où injecter mon stream pour qu’il soit reçu par le destinataire.
Pour l’instant, mon code ressemble à ça:
const startScreenSharing = (callSession) => {
navigator.mediaDevices.getDisplayMedia({}).then((stream) => {
setLocalStream(stream);
Wazo.Phone.startScreenSharing({audio: true, video: true}, callSession)
});
}
const stopScreenSharing = callSession => {
Wazo.Phone.stopScreenSharing(callSession, true)
}
Un peu d’aide et d’explication serait la bienvenue !
cheers !