영상 통화 활성화
음성 통화 중에 영상 통화로 전환하거나 영상 통화 중에 음성 통화로 다시 전환할 수 있습니다. 이를 각각 영상 통화를 활성화하거나 비활성화한다고 표현합니다.
영상 통화 활성화를 요청하는 절차는 통화 유형에 따라 다를 수 있습니다. 이 페이지에서는 통화 유형에 따라 영상 통화를 활성화하거나 비활성화하는 방법을 설명합니다.
| 지원 통화 유형 | 최소 SDK 버전 |
|---|---|
| 1대1 통화, 그룹 통화(컨퍼런스) | WebPlanetKit 3.1 |
1대1 통화
1대1 통화에서 영상 통화를 활성화 또는 비활성화하려면 Call의 다음 메서드를 사용하세요.
| 메서드 | 설명 | 관련 이벤트 콜백 |
|---|---|---|
enableVideo() | 영상 통화 활성화를 요청합니다. | evtVideoEnabledByPeerAndMyVideoPaused |
disableVideo() | 영상 통화 비활성화를 요청합니다. | evtVideoDisabledByPeer |
요청자의 초기 비디오 상태
enableVideo()의 EnableVideoOptions에 불리언 유형의 cameraOn을 추가해 요청자의 초기 비디오 상태를 설정할 수 있습니다.
cameraOn이true인 경우 카메라가 켜지고 카메라에서 캡처한 비디오가 전송됩니다.cameraOn이false인 경우 카메라가 꺼진 상태로 유지되고 비디오가 전송되지 않습니다.
cameraOn의 기본값은true입니다.cameraOn을false로 설정하면 요청자의 비디오가 전송되지 않습니다. 요청자의 비디오를 캡처하고 전송하려면 이후에Call의resumeMyVideo()를 호출해야 합니다.- WebPlanetKit 5.2 이전 버전에서는
cameraOn기능을videoEnabled라는 이름으로 제공하고 있습니다.
영상 통화 활성화
영상 통화 요청자가 enableVideo()를 호출하면 요청 수신자의 비디오가 일시 중지된 상태로 영상 통화가 활성화됩니다. 요청 수신자가 비디오를 보내려면 resumeMyVideo()를 호출해야 합니다.
WebPlanetKit 6.0부터 1대1 통화에서 응답 유형(비디오 일시 중지 또는 비디오 전송)을 설정하는 기능은 더 이상 지원되지 않습니다. 이제 영상 통화 활성화 시 요청 수신자의 비디오는 일시 중지 상태가 됩니다.
관련 이벤트인 evtPeerVideoPaused과 evtPeerVideoResumed에 대한 자세한 내용은 비디오 일시 중지 이벤트를 참고하세요.
영상 통화 비활성화
영상 통화 도중에 비디오 스트리밍을 중지하고 싶으면, disableVideo()를 호출하세요.
네이티브 PlanetKit과 달리 WebPlanetKit은 1대1 통화에서 disableVideo() 호출 시 disableReason을 전달하는 기능을 지원하지 않습니다.
거절하는 흐름 예시
enableVideo() 요청의 수신자가 영상 통화에 참여하고 싶지 않으면 요청을 거절할 수 있습니다. 이때 통화 절차는 아래와 같아야 합니다.
그룹 통화
그룹 통화에서 영상 통화를 활성화하거나 비활성화하려면 Conference의 다음 메서드를 사용하세요.
| 메서드 | 설명 | 관련 이벤트 콜백 |
|---|---|---|
enableVideo() | 영상 통화 활성화를 요청합니다. | evtPeersVideoUpdated(state= ENABLED) |
disableVideo() | 영상 통화 비활성화를 요청합니다. | evtPeersVideoUpdated(state= DISABLED) |
evtPeersVideoUpdated에서는 ENABLED, DISABLED, PAUSED 세 가지 상태를 전달합니다.
상태가 PAUSED인 경우 pauseReason을 참조하여 필요한 작업을 수행해야 합니다. 자세한 내용은 비디오 일시 중지 이벤트를 참고하세요.
요청자의 초기 비디오 상태
enableVideo()의 EnableVideoOptions에 불리언 유형의 cameraOn을 추가해 요청자의 초기 비디오 상태를 설정할 수 있습니다.
cameraOn이true인 경우 카메라가 켜지고 카메라에서 캡처한 비디오가 전송됩니다.cameraOn이false인 경우 카메라가 꺼진 상태로 유지되고 비디오가 전송되지 않습니다.
cameraOn의 기본값은true입니다.cameraOn을false로 설정하면 요청자의 비디오가 전송되지 않습니다. 요청자의 비디오를 캡처하고 전송하려면 이후에Conference의resumeMyVideo()를 호출해야 합니다.- WebPlanetKit 5.2 이전 버전에서는
cameraOn기능을videoEnabled라는 이름으로 제공하고 있습니다.
영상 통화 활성화
영상 통화 요청자가 enableVideo()를 호출하면 다른 참여자는 각자 requestPeerVideo()를 호출해 그 스트림을 받을지 말지 결정해야 합니다.
영상 통화 비활성화
그룹 영상 통화 도중에 비디오 스트림을 중지하려면 disableVideo()를 호출합니다.
관련 API
영상 통화 활성화 및 비활성화와 관련된 API는 다음과 같습니다.