Kakao i Connect Live::Kakao i Connect Live 2.0::API 레퍼런스::Web::LocalMedia

페이지 이동경로

LocalMedia

LocalMedia 클래스는 Local Participant(로컬 참여자)가 생성한 오디오와 비디오를 제어합니다. LocalMedia 클래스는 Property와 Method로 구성됩니다.

LocalMedia 클래스 전체 목록
클래스 구분 항목 설명
LocalMedia Property room Room 객체
- LocalMedia 객체가 Room에 공유되면 해당 속성으로 접근 가능
audio LocalMedia에 속해 있는 LocalAudio 객체
video LocalMedia에 속해 있는 LocalVideo 객체
Method getDevices() 로컬 참여자가 사용중인 로컬 디바이스 목록 반환
getMicDevices() 로컬 참여자가 사용 중인 로컬 디바이스 중 오디오 장치 목록 반환
getSpeakerDevices() 로컬 참여자가 사용 중인 로컬 디바이스 중 스피커 장치 목록 반환
getCameraDevices() 로컬 참여자가 사용 중인 로컬 디바이스 중 비디오 장치 목록 반환
switchMic() 로컬 참여자가 사용 중인 오디오(마이크) 장치 변경
switchCamera() 로컬 참여자가 사용 중인 비디오(카메라) 장치 변경
stop() LocalMedia에 속해 있는 오디오 객체와 비디오 객체 중지
setMediaStream() 외부에서 선언된 미디어스트림(mediaStream) 객체를 LocalMedia 클래스의 LocalAudio와 LocalVideo 속성으로 지정 가능

Property

LocalMedia 클래스의 프로퍼티는 다음과 같습니다.

LocalMedia 프로퍼티 목록
Property 타입 설명
room Room Room 객체
- LocalMedia 객체가 Room에 공유되면 해당 속성으로 접근 가능
audio LocalAudio LocalMedia에 속해 있는 LocalAudio 객체
video LocalVideo LocalMedia에 속해 있는 LocalVideo 객체

Method

LocalMedia 클래스의 메서드는 다음과 같습니다.

getDevices()

로컬 참여자가 사용 중인 로컬 디바이스 목록을 반환합니다. 디바이스는 오디오 및 비디오 장치를 모두 포함합니다.

코드예제getDevices() Syntax

const devices = await localMedia.getDevices();

getDevices() Returns
반환 구분 타입 설명
promise 성공 Promise<MediaDeviceInfo>[] 오디오 및 비디오 디바이스 목록
실패 Error 호출 실패 시 반환

getMicDevices()

로컬 참여자가 사용 중인 로컬 디바이스 중 오디오 장치 목록을 반환합니다.

코드예제getMicDevices() Syntax

const devices = await localMedia.getMicDevices();

getMicDevices() Returns
반환 구분 타입 설명
promise 성공 Promise<MediaDeviceInfo>[] 디바이스 목록
실패 Error 호출 실패 시 반환

getSpeakerDevices()

로컬 참여자가 사용 중인 로컬 디바이스 중 스피커 장치 목록을 반환합니다.

코드예제getSpeakerDevices() Syntax

const devices = await localMedia.getSpeakerDevices();

getSpeakerDevices() Returns
반환 구분 타입 설명
promise 성공 Promise<MediaDeviceInfo>[] 디바이스 목록
실패 Error 호출 실패 시 반환

getCameraDevices()

로컬 참여자가 사용 중인 로컬 디바이스 중 비디오 장치 목록을 반환합니다.

코드예제getCameraDevices() Syntax

const devices = await localMedia.getCameraDevices();

getCameraDevices() Returns
반환 구분 타입 설명
promise 성공 Promise<MediaDeviceInfo>[] 디바이스 목록
실패 Error 호출 실패 시 반환

switchMic()

로컬 참여자가 사용 중인 오디오(마이크) 장치를 변경합니다.

코드예제switchMic() Syntax

await localMedia.switchMic('{deviceId}');

switchMic() Parameters
파라미터 타입 필수 여부 설명
deviceId String 필수 변경을 원하는 디바이스 아이디
- getMicDevices() 메서드를 통해 획득한 deviceId
switchMic() Returns
반환 구분 타입 설명
promise 성공 N/A 성공 시 아무것도 반환하지 않음
실패 Promise<ServerError>,
Promise<ClientError>
호출 실패 시 반환
- 공유한 오디오 해제 후 재공유(예외 발생 시 ServerError 발생)
- 마이크 장치에 정상적으로 접근하지 못하면 ClientError 발생

switchCamera()

로컬 참여자가 사용 중인 비디오(카메라) 장치를 변경합니다.

코드예제switchCamera() Syntax

await localMedia.switchCamera('{deviceId}');

switchCamera() Parameters
파라미터 타입 필수 여부 설명
deviceId String 필수 디바이스 아이디
- getCameraDevices() 메서드를 통해 획득한 deviceId
switchCamera() Returns
반환 구분 타입 설명
promise 성공 N/A 성공 시 아무것도 반환하지 않음
실패 Promise<ServerError> |
Promise<ClientError>
호출 실패 시 반환
- 공유한 비디오 해제 후 재공유(예외 발생 시 ServerError 발생)
- 카메라 장치에 정상적으로 접근하지 못하면 ClientError 발생

stop()

LocalMedia에 속해 있는 오디오 객체와 비디오 객체를 중지합니다. disconnect() 메서드 호출 시 로컬 미디어(오디오/비디오)를 더 이상 사용하지 않을 경우, stop() 메서드를 호출하여 오디오 객체와 비디오 객체를 중지해야 합니다.

코드예제stop() Syntax

localMedia.stop();

setMediaStream()

외부에서 선언된 미디어스트림(mediaStream) 객체를 LocalMedia 클래스의 LocalAudio와 LocalVideo 속성으로 지정할 수 있습니다. 예를 들어, 동영상을 재생 중인 비디오 태그 또는 캔버스로부터 얻어낸 미디어 스트림을 LocalMedia에 지정하고 이를 다시 리모트 참여자들과 공유할 수 있습니다.

코드예제setMediaStream() Syntax

const videoTag = document.getElementById('video');
const mediaStream = videoTag.captureStream();

//동영상의 미디어스트림을 LocalMedia에 지정
localMedia.setMediaStream(mediaStream);

//동영상을 Room에 공유
room.publish([localMedia]);

setMediaStream() Parameters
파라미터 타입 필수 여부 설명
mediaStream MediaStream 필수 LocalMedia 클래스의 오디오와 비디오에 설정할 미디어 스트림 객체
이 문서가 만족스러운 이유를 알려주세요.
이 문서에 아쉬운 점을 알려주세요.
평가해주셔서 감사합니다.

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