Kakao i Connect Live::Kakao i Connect Live 2.0::API 레퍼런스::Android

페이지 이동경로

Android API

Android 버전의 카카오 i 커넥트 라이브 SDK 2.0에서 제공하는 전체 메서드 목록은 다음과 같습니다.

SDK 주요 메서드

SDK 주요 메서드 목록
구분 메서드 설명
주요 메서드 init() 안드로이드 버전의 Kakao i Connect Live SDK 2.0을 초기화
- 모든 메서드를 호출하기 전 반드시 init() 메서드를 호출 필요
signIn()_커넥트 라이브 내부 인증 SDK의 내부 인증 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달
- 인증 과정에서 발생한 에러는 ErrorHandler에서 확인
signIn()_서비스 자체 인증 서비스 자체 방식으로 인증을 수행하며, 인증 처리 후 결과는 Callback 형태로 전달
- 인증 과정에서 발생한 에러는 ErrorHandler에서 확인
signOut() SDK의 인증을 해제하고, 인증 관련 리소스를 해제
createRoom() Room 객체를 생성
createLocalMedia() Local Participant(로컬 참여자)가 생성하는 로컬 오디오와 로컬 비디오의 컨테이너인 LocalMedia 객체를 생성
createLocalScreen() Android 5(API 수준 21)에 도입된 MediaProjection API를 사용하여 안드로이드 화면 공유를 위한 컨테이너를 생성
createLocalCamera() Local Participant가 생성하는 로컬 비디오를 처리하기 위해 LocalCamera 객체를 생성
createLocalAudio() Local Participant가 생성하는 로컬 오디오를 처리하기 위해 LocalAudio 객체를 생성

Room

Room 클래스 전체 목록
클래스 구분 항목 설명
Room Property localParticipant: LocalParticipant Local Participant(로컬 참여자)의 정보를 담고 있는 객체
remoteParticipants: Map Remote Participant(리모트 참여자)의 정보를 담고 있는 객체
(mutable property) isMuted: Boolean 전체 리모트 참여자의 오디오를 무음으로 설정할지 여부
Method connect() roomId로 식별되는 특정 Room에 접속
disconnect() 현재 접속 중인 Room과 연결 끊음
subscribe() Room의 Remote Participant(리모트 참여자)가 공유한 비디오 수신(구독)
unsubscribe() 내가 수신하고 있는 리모트 참여자의 비디오 아이디(videoIds)를 인자로 사용하여 해당 리모트 비디오의 수신(구독) 중단
publish() Local Participant(로컬 참여자)가 생성한 로컬 미디어(비디오 / 오디오)를 다른 리모트 참여자들과 공유
unpublish() Local Participant(로컬 참여자)가 Room에 송출 중인 로컬 미디어(비디오 / 오디오)의 공유 취소
getVideo() 특정 리모트 비디오 ID(videoId)를 인자로 사용하여, 해당 비디오가 속하는 리모트 비디오 객체 반환
getStats() PeerConnection을 대상으로 전송 중 또는 수신 중인 미디어에 대한 품질 지표를 확인할 수 있는 RTCStats을 가져옴
subscribeStats() PeerConnection을 대상으로 전송 중 또는 수신 중인 미디어에 대한 품질 지표를 확인할 수 있는 RTCStats을 특정 간격으로 전달받음
getAudioLevels() 특정 간격으로 현재 참여자들의 오디오 볼륨 레벨 반환
sendUserMessage() Room에 있는 특정 리모트 참여자 또는 전체 리모트 참여자에게 메시지를 전송
Room.Config() 해당 Room에서 영상 수신을 위한 운용 설정 수행

Callback(Room.Events)

Callback(Room.Events) 전체 목록
구분 이벤트 설명
Room.Events onConnecting 참여자가 해당 Room에 접속 진행 중
onConnected 참여자가 해당 Room에 접속 성공
onDisconnected 참여자가 접속을 종료하거나 서버의 요청에 의해 종료
onError Room에서 에러 발생
onLocalAudioPublished Local Participant가 자신의 오디오(음성)를 공유
onLocalAudioUnpublished Local Participant가 공유 중인 오디오를 공유 해제
onLocalVideoPublished Local Participant가 자신의 비디오를 공유
onLocalVideoUnpublished Local Participant가 공유 중인 비디오를 공유 해제
onParticipantEntered 새로운 Remote Participant가 Room에 입장
onParticipantLeft Remote Participant가 Room에서 퇴장하여 Room과 연결이 끊김
onRemoteAudioPublished Remote Participant가 Room에 오디오를 공유
onRemoteAudioUnpublished Remote Participant가 Room에 공유 중인 오디오를 공유 해제
onRemoteAudioStateChanged Remote Participant의 오디오 상태 변경
onRemoteAudioSubscribed Room에 송출 중인 Remote Participant(상대방)의 원격 오디오 발화에 따라 SDK에서 자동으로 구독
onRemoteAudioUnsubscribed Room에 송출 중인 원격 사용자의 원격 오디오 수신을 SDK에서 자동으로 종료
onRemoteVideoPublished Room에 송출 중인 Remote Participant의 비디오 게시
onRemoteVideoStateChanged Room에 송출 중인 Remote Participant의 원격 비디오 상태(isEnabled)가 변경
onRemoteVideoUnpublished Room에 송출 중인 Remote Participant의 원격 비디오의 게시가 종료
onUserMessage 해당 Room의 다른 참여자가 보낸 메시지를 받음

Participant

Participant 클래스 전체 목록
클래스 구분 항목 설명
Participant Property id 참여자의 아이디
audios: Map 참여자가 송출하는 AudioContent의 맵(map)
videos: Map 참여자가 송출하는 VideoContent의 맵(map)
hasAudio 참여자의 오디오 송출 여부
hasVideo 해당 참여자의 영상 송출 여부
Interface:
LocalParticipant
audios 송출하는 LocalAudio의 맵(map)
videos 송출하는 LocalVideo의 맵(map)
Interface:
RemoteParticipant
audios 송출하는 LocalVideo의 맵(map)
videos Remote Participant가 송출하는 RemoteVideo의 맵(map)
subscribedVideos 리시버에 할당된 해당 참여자의 영상
unsubscribedVideos 리시버에 할당되지 않은 해당 참여자의 영상

Video/Audio

Video/Audio 관련 전체 목록
대분류 구분 항목 설명
LocalVideo Property id 송출된 미디어의 스트림 ID
owner 스트림 소유자의 ID
extraValue 미디어 특성으로 활용될 부가 정보
isEnabled 해당 미디어의 처리 제어
Method attach() 해당 비디오 프레임 수신을 설정
detach() 비디오 프레임 수신을 중단
LocalAudio Property id 송출된 미디어의 스트림 ID
owner 스트림 소유자의 ID
extraValue 미디어 특성으로 활용될 부가 정보
isEnabled 해당 오디오의 처리 제어
isAlwaysOn 내 오디오를 다른 참여자들이 항상 수신하게 할지 설정
RemoteVideo Property id 송출된 미디어의 스트림 ID
owner 스트림 소유자의 ID
extraValue 미디어 특성으로 활용될 부가 정보
isEnabled 해당 비디오의 활성 상태 설정
demandedProfile 다중 트랙 영상에서 원하는 화질의 값
isPaused Remote Participant의 비디오 상태를 설정
Method attach() 해당 비디오 프레임 수신을 설정
detach() 비디오 프레임 수신을 중단
RemoteAudio Property id 송출된 미디어의 스트림 ID
owner 스트림 소유자의 ID
extraValue 미디어 특성으로 활용될 부가 정보
isEnabled 해당 오디오의 활성 상태 설정
isAlwaysOn 참여자의 발화 레벨에 상관 없이, 해당 오디오를 항상 들을 수 있도록 설정
isMuted 무음 기능 사용 여부 설정

Misc

Misc 관련 전체 목록
대분류 구분 항목 설명
AudioHelper Property isFocusAcquired SDK에서 Audio를 관리하기 위해 acquireFocus() 메서드로 요청이 되었는지 상태를 확인
availableDevices 현재 유효한 오디오 장치 목록
selectedDevice 현재 선택된 오디오 장치
Method acquireFocus() AudioHelper 클래스에 오디오 포커스를 요청
releaseFocus() 앱에서 SDK의 상 시나리오가 종료 시, 오디오 포커스 요청을 취소
prefer() 해당 오디오 디바이스에 가장 높은 우선권을 부여
avoid() 해당 오디오 디바이스에 가장 낮은 우선권을 부여
resetPreferences() 오디오 장치 우선권을 변경한 경우, SDK 기본 설정대로 설정을 초기화
VideoCapturerFactory.
CreateScreenCapture
화면 공유 요청을 Activity Result API로 처리하기 용이하도록 제공된 ActivityResultContract
VideoCapturerConfig Property default 로컬 카메라 캡처에 사용되는 기본 해상도
maxScreenSize 화면 넓은 면의 최대 크기 값보다 더 큰 화면은 종횡비를 유지하면서 다운스케일
VideoRenderer Property default 로컬 카메라 캡처에 사용되는 기본 해상도
Event onFrameInfoListener VideoFrame 관련 정보(FPS, 크기, 회전)를 제공받을 callback
Method bind() 영상 프레임을 받아볼 VideoContent를 VideoRenderer 클래스에 바인드
unbind() 해당 VideoRenderer 클래스에서 수신 중인 영상 프레임의 바인드를 해제하여 수신 취소
setRenderingChecker() 영상 프레임이 렌더링되는 상태를 조회
이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

더 자세한 의견은 documentation@kakaoenterprise.com 으로 제보해주세요.