Web API
Web 버전의 카카오 i 커넥트 라이브 SDK 2.0에서 제공하는 전체 메서드 목록은 다음과 같습니다.
SDK 주요 메서드
표SDK 주요 메서드 목록대분류 | 구분 | 메서드 | 설명 |
---|---|---|---|
주요 메서드 | Method | signIn()_커넥트 라이브 내부 인증 | SDK의 내부 인증 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달 |
signIn()_서비스 자체 인증 | 서비스 자체 인증 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달 | ||
signOut() | 인증 중단 | ||
createRoom() | Room 객체 생성 | ||
createLocalMedia() | Local Participant가 생성하는 로컬 오디오와 로컬 비디오의 처리를 위해 LocalMedia 객체 생성 | ||
createLocalScreen() | Local Participant의 화면을 공유하기 위한 LocalScreen 객체 생성 | ||
Event | tokenRefreshWarning | signIn() 메서드를 호출 후, 토큰 갱신 시간이 다가올 때 주기적인 토큰 갱신에 실패한 경우 | |
tokenRefreshError | 최종 정해진 시간을 넘어 토큰 갱신이 실패한 경우 |
Room
표Room 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
Room | Property | localParticipant | 로컬 참여자(나 자신)의 정보를 담고 있는 객체 |
remoteParticipants | Remote Participant(다른 참여자)의 정보를 담고 있는 배열 객체 | ||
roomStatus |
Room 클래스의 상태 프로퍼티 - created : createRoom() 메서드로 room 객체가 생성되어 초기화 단계에 들어간 상태- initiated : created 를 지나 초기화 완료 상태- connected : 성공적으로 room에 접속한 상태- disconnected : room에서 접속을 종료한 상태
|
||
remoteAudioElements |
오디오 엘리먼트 배열을 가지고 있는 객체 - 해당 객체를 통해 실제 오디오 엘리먼트에 접근 가능 - SDK에서는 높은 4개의 오디오만 재생 |
||
audioOccupants | 현재 오디오 리시버를 점유하고 있는 Remote Participant의 목록 | ||
Method | connect() | roomId로 식별되는 특정 Room에 접속하고 스트림의 송신 및 수신을 위한 절차 시작 | |
disconnect() | 현재 접속 중인 Room과 연결 끊음 | ||
publish() | Local Participant가 생성한 로컬 미디어(비디오/오디오)를 Room으로 송출하거나, Local Participant의 화면을 다른 리모트 참여자들과 공유 | ||
unpublish() | Local Participant가 Room에 공유 중인 로컬 미디어(비디오/오디오)의 송출 또는 화면 공유 중단 | ||
subscribe() | Room의 Remote Participant가 공유한 비디오를 수신 | ||
unsubscribe() | Remote Participant가 공유한 비디오의 수신을 중단 | ||
getRemoteParticipant() | ParticipantId(참여자 아이디)를 인자로 사용하여, 특정 Remote Participant의 RemoteParticipant 객체 반환 | ||
getAudioOccupants() | 오디오 리시버를 점유하고 있는 Remote Participant의 목록 반환 | ||
getRemoteVideo() | 특정 리모트 비디오 ID의 RemoteVideo 객체 반환 | ||
getRemoteAudio() | audioId(리모트 오디오 ID)를 인자로 사용하여 해당하는 RemoteAudio(리모트 오디오) 객체 반환 | ||
getRemoteAudioLevels() | 현재 오디오를 생성하고 있는 Remote Participant의 목록과 오디오 레벨 반환 | ||
switchSpeaker() | 현재 출력되고 있는 스피커 변경 | ||
sendUserMessage() | Room에 있는 특정 리모트 참여자 또는 전체 리모트 참여자에게 메시지 전송 | ||
getStats() | 전송 중 또는 수신 중인 미디어에 대한 품질 지표를 확인할 수 있는 값 반환 | ||
Event | connecting | Room에 접속하기까지 단계별 진행률 전달 | |
connected | 참여자가 Room과의 연결이 완료되었을 때 발생 | ||
disconnected | Room과 연결이 종료되면 호출 | ||
participantEntered | 새로운 Remote Participant가 Room에 입장했을 때 호출 | ||
participantLeft | Remote Participant가 Room에서 퇴장하여 Room과 연결이 끊겼을 때 호출 | ||
localAudioPublished | Local Participant가 자신의 오디오(음성)를 공유했을 때 호출 | ||
localAudioUnpublished | Local Participant가 Room에 공유 중인 오디오를 공유 해제했을 때 호출 | ||
localVideoPublished | Local Participant가 자신의 비디오를 공유했을 때 호출 | ||
localVideoUnpublished | Local Participant가 Room에 송출했던 비디오의 송출을 해제하면 호출 | ||
remoteAudioPublished | Remote Participant가 Room에 오디오를 송출했을 때 호출 | ||
remoteAudioUnpublished | Remote Participant가 Room에 송출 중인 오디오의 송출을 해제했을 때 호출 | ||
remoteVideoPublished | Remote Participant가 비디오를 공유했을 때 호출 | ||
remoteVideoUnpublished | Remote Participant가 비디오를 공유 해제하면 호출 | ||
remoteAudioSubscribed | Room에 송출 중인 Remote Participant의 오디오를 구독(오디오 리시버를 점유)했을 때 호출 | ||
remoteAudioUnsubscribed | Remote Participant의 오디오가 오디오 리시버의 점유를 해제하여 오디오 구독이 중단됐을 때 호출 | ||
remoteAudioStateChanged | Remote Participant의 오디오 상태가 변경되면 호출 | ||
remoteVideoStateChanged | Remote Participant의 비디오 상태가 변경되면 호출 | ||
userMessage | Remote Participant가 메시지를 전송하면 호출 | ||
error | Room에서 에러가 발생했을 때 호출 | ||
recordFailed | publish() 메서드 호출 시 isRecording를 true 로 설정했을 때 녹화가 실패하면 recordFailed 이벤트 호출 |
LocalParticipant
표LocalParticipant 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
LocalParticipant | Property | id | Local Participant의 아이디 |
hasAudio | Local Participant가 오디오를 공유했는지 여부 | ||
hasVideo | Local Participant가 비디오를 공유했는지 여부 | ||
Method | getAudio() | audioId를 인자로 사용하여 LocalAudio 객체를 가져옴 | |
getVideo() | videoId를 인자로 사용하여 LocalVideo 객체를 가져옴 | ||
stop() | Local Participant가 공유한 오디오와 비디오의 미디어 스트림 트랙을 모두 중단 |
RemoteParticipant
표RemoteParticipant 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
RemoteParticipant | Property | id | Remote Participant의 아이디 |
hasAudio | Remote Participant가 오디오를 공유했는지 여부 | ||
hasVideo | Remote Participant가 비디오를 공유했는지 여부 | ||
audios | Remote Participant가 공유한 오디오 배열 | ||
videos | Remote Participant가 공유한 비디오 배열 | ||
isEnabledAudio | Remote Participant가 공유한 오디오 중 하나라도 활성화되어 있으면 true 반환 |
||
isEnabledVideo | Remote Participant가 공유한 비디오 중 하나라도 활성화되어 있으면 true 반환 |
||
Method | getSubscribedVideos() | Remote Participant가 공유하고 있는 비디오 중에서 구독 중인 비디오 배열을 반환 | |
getUnsubscribedVideos() | Remote Participant가 공유한 비디오 중에서 현재 구독 중이지 않은 비디오 배열을 반환 | ||
getAudio() | audioId를 인자로 사용하여 Remote Participant가 공유 중인 RemoteAudio 객체를 반환 | ||
getVideo() | videoId를 인자로 사용하여 Remote Participant가 공유 중인 RemoteVideo 객체를 가져옴 |
LocalMedia
표LocalMedia 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
LocalMedia | Property | room | Room 객체 - LocalMedia 객체가 Room에 공유되면 해당 속성으로 접근 가능 |
audio | LocalMedia에 속해 있는 LocalAudio 객체 | ||
video | LocalMedia에 속해 있는 LocalVideo 객체 | ||
Method | getDevices() | Local Participant가 사용중인 로컬 디바이스 목록을 반환 | |
getMicDevices() | Local Participant가 사용 중인 로컬 디바이스 중 오디오 장치 목록을 반환 | ||
getSpeakerDevices() | Local Participant가 사용 중인 로컬 디바이스 중 스피커 장치 목록을 반환 | ||
getCameraDevices() | Local Participant가 사용 중인 로컬 디바이스 중 비디오 장치 목록을 반환 | ||
switchMic() | Local Participant가 사용 중인 오디오(마이크) 장치를 변경 | ||
switchCamera() | Local Participant가 사용 중인 비디오(카메라) 장치를 변경 | ||
stop() | LocalMedia에 속해 있는 오디오 객체와 비디오 객체를 중지 | ||
setMediaStream() | 외부에서 선언된 미디어스트림(mediaStream) 객체를 LocalMedia 클래스의 LocalAudio와 LocalVideo 속성으로 지정 가능 |
LocalScreen
표LocalScreen 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
LocalScreen | Property | room | Room 객체 - LocalScreen 객체가 Room에 공유되면 해당 속성으로 접근 가능 |
audio | LocalScreen에 속해 있는 LocalAudio 객체 | ||
video | LocalScreen에 속해 있는 LocalVideo 객체 | ||
Method | switchDisplay() | 화면 공유 변경 | |
stop() | 화면 공유를 위해 생성된 오디오 객체와 비디오 객체 중지 |
LocalAudio
표LocalAudio 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
LocalAudio | Property | streamId | 고유 아이디 반환 |
isAlwaysOn | alwaysOn 여부를 반환 | ||
Method | getMediaStreamTrack() | Local Audio의 미디어 스트림 트랙 반환 | |
getMediaStream() | 미디어 스트림(오디오) 반환 | ||
getStreamId() | 미디어의 고유 아이디인 streamId 반환 | ||
setExtraValue() | 서비스에서 필요한 값(Extra Value)으로 설정 | ||
getExtraValue() | 서비스에서 설정한 extraValue 반환 | ||
setEnabled() | 미디어 트랙의 상태 활성화 또는 비활성화 | ||
true : 미디어 스트림 트랙 활성화 시 미디어 출처 스트림의 렌더링 허용 |
|||
false : 미디어 스트림 트랙이 비 활성되어 음소거로 처리됨 |
|||
stop() | 미디어 트랙 중지 | ||
setAlwaysOn() | 필요시 alwaysOn 기능을 설정하여 로컬 참여자의 오디오를 항상 재생하도록 설정 |
LocalVideo
표LocalVideo 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
LocalVideo | Property | streamId | 미디어의 고유 아이디 |
videoElements | attach() 메서드를 통해 비디오를 바인딩하고 있는 비디오 엘리먼트 | ||
hd | HD(High Definition, 고해상도) 모드 | ||
Method | getMediaStreamTrack() | 미디어 스트림 트랙 반환 | |
getMediaStream() | 미디어 스트림 반환 | ||
getStreamId() | 미디어의 고유 아이디인 streamId 반환 | ||
setExtraValue() | 서비스에서 필요한 값을 extraValue로 설정 | ||
getExtraValue() | 서비스에서 설정한 extraValue 반환 | ||
setEnabled() | 미디어 트랙의 상태 변경 | ||
stop() | 미디어 트랙 중지 | ||
attach() | 새로운 비디오 엘리먼트를 생성해 이에 비디오를 바인딩하거나, 기존 비디오 엘리먼트에 비디오를 바인딩 | ||
detach() | attach()로 생성된 비디오 엘리먼트 삭제 | ||
setHd() | HD(High Definition, 고해상도) 모드를 설정 |
RemoteAudio
표RemoteAudio 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
RemoteAudio | Property | participantId | Remote Participant의 아이디 |
audioId | 고유 아이디 | ||
isAlwaysOn | alwaysOn 여부 | ||
active | 활성화 상태 | ||
Method | getParticipantId() | participantId(리모트 참여자 아이디) 반환 | |
getExtraValue() | Remote Participant가 오디오에 기록한 Extra Value를 반환 | ||
getAudioId() | Remote Participant의 오디오 아이디(audioId)를 반환 |
RemoteVideo
표RemoteVideo 클래스 전체 목록클래스 | 구분 | 항목 | 설명 |
---|---|---|---|
RemoteVideo | Property | participantId | Remote Participant의 아이디 |
videoElements | attach() 메서드에 의해 바인딩된 비디오 엘리먼트 배열 반환 | ||
videoId | 고유 아이디 | ||
paused | 원격 비디오가 멈춰 있는지 표시 | ||
active | 활성화 상태 | ||
Method | getParticipantId() | 참여자 아이디(participantId) 반환 | |
getExtraValue() | Remote Participant가 비디오에 기록한 Extra Value 반환 | ||
getVideoId() | Remote Participant의 비디오 아이디(videoId) 반환 | ||
attach() | 비디오 엘리먼트를 생성하여 비디오를 바인딩해 이를 반환하거나, 기존 비디오 엘리먼트에 비디오를 바인딩 | ||
detach() | attach() 메서드를 호출하여 생성한 비디오 엘리먼트 삭제 | ||
getMediaStreamTrack() | 미디어 스트림 트랙 반환 | ||
getMediaStream() | 미디어 스트림(비디오) 반환 | ||
setPaused() | 수신 중인 리모트 비디오 일시 정지 | ||
setQuality() | 수신 중인 리모트 비디오의 품질(Quality) 변경 |