Cuando llamo a stopVideoInput() haciendo clic en un botón, en mi lado el video se detiene, pero en el lado remoto el video simplemente se congela en lugar de apagarse por completo. Usando Chime SDK v3.
videoTileDidUpdate(tileState: VideoTileState): void { const videoElementId = tileState.localTile ? "local-video" : "remote-video"; const videoElement: HTMLVideoElement = this.domElement(videoElementId); if (videoElement) { console.info("binding video element: " + videoElementId); this._audioVideo.bindVideoElement(tileState.tileId, videoElement); } else { console.error(videoElementId + " video not found"); } } videoTileWasRemoved(tileId: number) { console.log("videoTileWasRemoved..."); this._audioVideo.unbindVideoElement(tileId); }stopVideoInput se llama aquí
endCamera(): void { this.av.stopVideoInput(); }Cuando llame a stopVideoInput, solo se llamará a videoTileDidUpdate con el estado de mosaico inactivo. Chime SDK está reutilizando el mismo objeto de mosaico local cuando lo reinicia llamando a startLocalVideoTile.
videoTileDidUpdate: tileState => { if (tileState.localTile) { // tileState.active will be false when you call stopLocalVideoTile } }videoTileWasRemoved se invoca cuando llama a removeLocalVideoTile. Chime SDK eliminará el mosaico de video local. Revise el ejemplo "Deje de compartir su video" en: AWS Chime SDK - Video
Fuente: AWS Chime SKD GitHub