VideoRoom Guide
Last updated
Last updated
Videoroom은 영상 회의 기능을 인터넷을 이용한 앱으로 구현한 것입니다. Omnitalk SDK를 이용하여 회의실(룸) 생성 및 참여하는 것으로 1:1 또는 다자간 영상 회의실 기능을 간단히 구현할 수 있습니다.
Developer's Guide의 에서 장치 설정 및 개발 공통 사항을 참고하시기 바랍니다.
Omnitalk SDK 초기화를 제외한 모든 API 기능은 유효한 세션의 존재를 전제로 하고 있습니다. 세션의 생성을 위해 createSession API를 호출합니다. 사용하고 싶은 번호나 문자열을 user_id로 전달해 등록할 수 있으며 생략시엔 Omnitalk 서버에서 부여한 임의의 id를 리턴받을 수 있습니다.
기존 회의실을 조회해 참여하거나 새로운 회의실을 만들 수 있습니다. 기존 회의실(룸) 조회는 roomList API를, 회의실(룸) 생성은 createRoom API를 이용합니다. 룸 타입을 명시하지 않으면 모든 타입의 룸이 조회됩니다. 조회한 목록 결과의 room_id 로 회의실에 참여할 수 있습니다.
회의실에 참여하게 되면 별도의 작업 없이 참여자들과 음성 회의를 할 수 있게 되며, 회의실에 관련된 이벤트 메세지를 수신할 수 있습니다. 음성 회의실에서 수신 가능한 이벤트는 아래와 같습니다. 자세한 내용은 를 참조 바랍니다.
CONNECTED_EVENT - 새로운 참가자 입장했을 때
LEAVE_EVENT - 다른 참가자가 퇴장 했을 때
MUTE_EVENT - 다른 참가자가 mute 했을 때
UNMUTE_EVENT - 다른 참가자가 unmute 했을 때
비디오 방송의 시작은 자신의 영상 streamURL을 담을 객체를 인수로 전달해 publish API를 호출하면 됩니다. publish API호출이 성공하면 해당 방송의 세션 id가 담긴 객체를 리턴 받게 되고 룸의 다른 사용자들에게 BROADCASTING_EVENT
가 발생합니다. 애플리케이션에서 방송 영상을 담는 컴포넌트는 react-native-webrtc 패키지의 RTCView 를 이용하시면 됩니다.
룸에서 방송중인 사용자의 영상을 구독하기 위해서는 subscribe API를 사용하면 됩니다. 방송 리스트를 조회하거나 BROADCASTING_EVENT
를 수신해 구독할 방송의 세션을 구할 수 있습니다. 구독할 영상을 담을 RTCVideoRenderer 타입의 객체를 함께 인수로 전달합니다. 방송 구독에 성공하면 CONNECTED_EVENT
를 받게 됩니다.
MESSAGE_EVENT - 채팅 메세지 수신 이벤트, 회의실 입장시 채팅 기능을 사용할 수 있는 상태가 됩니다. 채팅기능 사용법은 를 참조 바랍니다.
를 사용하여 입장한 회의실에 참여하여 방송을 개시한 사용자 목록을 조회할 수 있습니다.