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 | 리모트 참여자의 비디오 상태를 설정 | ||
Method | attach() | 해당 비디오 프레임 수신을 설정 | |
detach() | 비디오 프레임 수신을 중단 | ||
RemoteAudio | Property | id | 송출된 미디어의 스트림 ID |
owner | 스트림 소유자의 ID | ||
extraValue | 미디어 특성으로 활용될 부가 정보 | ||
isEnabled | 해당 오디오의 활성 상태 설정 | ||
isAlwaysOn | 참여자의 발화 레벨에 상관 없이, 해당 오디오를 항상 들을 수 있도록 설정 | ||
isMuted | 무음 기능 사용 여부 설정 |
안내
Content는 스트림으로 표현되는 미디어를 나타내는 객체로, 콘텐츠 송출 주체와 미디어 유형에 따라 클래스가 구분됩니다.
- LocalVideo = LocalContent + VideoContent
- LocalAudio = LocalContent + AudioContent
- RemoteVideo = RemoteContent + VideoContent
- RemoteAudio = RemoteContent + AudioContent
LocalVideo
LocalVideo 클래스는 송출 주체는 LocalContent, 미디어 타입은 VideoContent인 클래스입니다.
LocalVideo를 포함한 LocalMedia를 Room에 공유 시, Remote Participant(리모트 참여자)가 나의 Local Particioant(로컬 참여자)의 영상을 볼 수 있습니다. LocalVideo 클래스는 Property와 Method로 구성됩니다.
Property
표LocalVideo 프로퍼티 목록파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
id | Integer | 필수 |
송출된 미디어의 스트림 ID |
null : 미송출 |
|||
0 : 송출 준비 중 |
|||
owner | String | 필수 |
스트림 소유자의 ID |
null : 미송출 |
|||
extraValue(mutable property) | String | 필수 |
미디어 특성으로 활용될 부가 정보 - 화면 공유의 경우 share 로 설정됨- publish() 메서드 호출 후에는 수정 불가 |
isEnabled(mutable property) | Boolean | 필수 |
해당 미디어의 처리 제어 |
true (기본값): 해당 미디어를 활성화 |
|||
false : 해당 미디어를 비활성화 |
|||
Method
LocalVideo 클래스의 메서드는 다음과 같습니다.
attach()
Android SDK에서는 자체적으로 attach() 메서드를 호출합니다. 따라서 SDK 자체적으로 내장된 VideoRenderer 대신 별도의 Renderer View를 사용하고자 할 경우에만 비디오에 sink(VideoSink)로 Renderer View를 추가하여, 해당 비디오 프레임 렌더링을 설정하시기 바랍니다. Android SDK에서는 VideoRenderer에 bind만 하면 onVisibilityAggregated에 따라 수신/비수신 처리를 할 수 있습니다.
안내
SDK 자체적으로 내장된 VideoRenderer 대신 별도의 Renderer View를 사용하고자 할 경우에만 attach() 메서드를 사용하시기 바랍니다.
코드예제attach() Syntax
video.attach(sink = VideoRenderer)
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
sink | VideoSink | 필수 |
뷰에 바인딩할 렌더러 뷰(Renderer View) - VideoRenderer 사용 필요 |
detach()
Android SDK에서는 자체적으로 detach() 메서드를 호출합니다. 따라서 SDK 자체적으로 내장된 VideoRenderer 대신 별도의 Renderer View를 사용하기 위해 attach() 메서드를 호출한 경우, detach() 메서드를 호출하여 해당 Renderer View를 제거하여 비디오 프레임 렌더링을 중단해야 합니다. Android SDK에서는 VideoRenderer에 바인드만 하면 onVisibilityAggregated에 따라 수신/비수신 처리를 수행합니다.
코드예제detach() Syntax
video.detach(sink = VideoRenderer)
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
sink | VideoSink | 필수 |
뷰에서 unbinding할 렌더러 뷰(Renderer View) - 기존에 할당된 VideoRenderer 넣어 수신 중단 필요 |
LocalAudio
LocalAudio 클래스는 LocalMedia 클래스의 구성 클래스 중 하나로 송출 주체는 Local, 미디어 타입은 Audio인 클래스입니다. LocalAudio를 포함한 LocalMedia를 Room에 공유 시 다른 참여자가 나의 음성을 들을 수 있습니다. LocalAudio 클래스는 Property로 구성됩니다.
Property
표LocalAudio Property프로퍼티 | 타입 | 설명 |
---|---|---|
id | Integer | 송출된 미디어의 스트림 ID |
null : 미송출 |
||
0 : 송출 준비 중 |
||
owner | String | 스트림 소유자의 ID |
null : 미송출 |
||
extraValue | String | 미디어 특성으로 활용될 부가 정보 - publish() 메서드 호출 후에는 수정 불가 |
isEnabled | Boolean | 해당 오디오의 처리 제어 |
true (기본값): 해당 미디어 활성화 |
||
false : 해당 미디어 비활성화 |
||
isAlwaysOn | Boolean | 내 오디오를 다른 참여자들이 항상 수신하도록 설정 |
true : 항상 수신 |
||
false (기본값): 발화했을 때만 수신할 수 있도록 설정 |
RemoteVideo
RemoteVideo 클래스는 RemoteContent 클래스의 구성 클래스 중 하나로 송출 주체는 Remote, 미디어 타입은 Video인 클래스입니다.
RemoteVideo를 VideoRenderer 클래스에 바인드 시 해당 참여자의 영상을 볼 수 있습니다. RemoteVideo 클래스는 Property와 Method로 구성됩니다.
Property
표RemoteVideo Property프로퍼티 | 타입 | 설명 |
---|---|---|
id | Integer | 송출된 미디어의 스트림 ID |
null : 미수신 |
||
0 : 수신 준비 중 |
||
owner | String | 스트림 소유자의 ID |
null : 미수신 |
||
extraValue | String | 미디어 특성으로 활용될 부가 정보 - 해당 비디오가 화면 공유라면, share 로 설정됨- publish() 메서드 호출 후에는 수정 불가 |
isEnabled | Boolean | 해당 비디오의 활성 상태 설정 |
true (기본값): 해당 미디어를 활성화 |
||
false : 해당 미디어를 비활성화 |
||
demandedProfile | ProfileType | 해당 video의 수신 해상도를 변경 - 렌더러의 사이즈에 따라 변경(기본값) - remoteVideo.demandedProfile = ProfileType.HIGH |
isPaused | Boolean | 리모트 참여자의 비디오 상태를 설정 |
true : 다른 참여자가 영상 송출을 일시 중지함 |
||
false (기본값): 정상 재생 중 |
Method
attach()
Android SDK에서는 자체적으로 attach() 메서드를 호출합니다. 따라서 SDK 자체적으로 내장된 VideoRenderer 대신 별도의 Renderer View를 사용하고자 할 경우에만 비디오에 sink(VideoSink)로 Renderer View를 추가하여, 해당 비디오 프레임 렌더링을 설정하시기 바랍니다. Android SDK에서는 VideoRenderer에 bind만 하면 onVisibilityAggregated에 따라 수신/비수신 처리를 할 수 있습니다.
코드예제attach() Syntax
video.attach(sink = VideoRenderer)
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
sink | VideoSink | 필수 |
뷰에 바인딩할 렌더러 뷰(Renderer View) - VideoRenderer 사용 필요 |
detach()
Android SDK에서는 자체적으로 detach() 메서드를 호출합니다. 따라서 SDK 자체적으로 내장된 VideoRenderer 대신 별도의 Renderer View를 사용하기 위해 attach() 메서드를 호출한 경우, detach() 메서드를 호출하여 해당 Renderer View를 제거하여 비디오 프레임 렌더링을 중단해야 합니다. Android SDK에서는 VideoRenderer에 바인드만 하면 onVisibilityAggregated에 따라 수신/비수신 처리를 수행합니다.
코드예제detach() Syntax
video.detach(sink = VideoRenderer)
파라미터 | 타입 | 필수 여부 | 설명 |
---|---|---|---|
sink | VideoSink | 필수 |
뷰에 바인딩을 취소할 렌더러 뷰(Renderer View) - 기존에 할당된 VideoRenderer 사용 필요 |
RemoteAudio
RemoteAudio 클래스는 송출 주체는 RemoteContent, 미디어 타입은 AudioContent입니다. RemoteAudio 클래스를 활용하면, 별다른 코딩 없이 스트리밍 서비스에서 발화 중인 다른 참여자의 오디오를 들을 수 있습니다. Remote Audio 클래스는 Property로 구성됩니다.
Property
표RemoteAudio Property프로퍼티 | 타입 | 설명 |
---|---|---|
id | Integer | 송출된 미디어의 스트림 ID |
null : 미수신 |
||
0 : 수신 준비 중 |
||
owner | String | 스트림 소유자의 ID |
null : 미수신 |
||
extraValue | String | 미디어 특성으로 활용될 부가 정보 - publish 후 수정 불가 |
isEnabled | Boolean | 해당 오디오의 활성 상태 설정 |
true (기본값): 해당 미디어를 활성화 |
||
false : 해당 미디어를 비활성화 |
||
isAlwaysOn | Boolean | 참여자의 발화 레벨에 상관 없이, 해당 오디오를 항상 들을 수 있도록 설정(AlwaysOn 기능) |
true : 발화 레벨에 상관 없이 해당 오디오를 항상 청취 |
||
false (기본값): 발화 레벨 기준으로 오디오를 청취 |
||
isMuted | Boolean | 무음 기능 사용 여부 설정 |
true : 오디오의 소리를 무음으로 설정 |
||
false (기본값): 오디오의 소리가 들리도록 설정 |