Android SDK Specification

 

 

Contents

PlayRTC SDK Overview

Overview

Version 2.2.1

 

Class 구성

 Package 명  Descripttion
 com.sktelecom.playrtc  PlayRTC의 Communication을 위한 구현체와 인터페이스 및 Factory Class로 구성.
 com.sktelecom.playrtc.stream  PlayRTC의 스트림 구현체와 인터페이스Class로 구성.
 com.sktelecom.playrtc.observer  PlayRTC의 스트림 구현체와 인터페이스Class로 구성.
 com.sktelecom.playrtc.config  PlayRTC의 환경설정 관련 Class로 구성
 com.sktelecom.playrtc.exception  PlayRTC의 exceprion Class로 구성
 com.sktelecom.playrtc.util.android 단말기에 종속적인 Class
 com.sktelecom.playrtc.util.ui  Video Stream을 출력하기 위한 View Class

 


 

com.sktelecom.playrtc

 

PlayRTCFactory

Package : com.sktelecom.playrtc.PlayRTCFactory

PlayRTC 인터페이스 내부 구현 객체를 생성하여 반환하는 Factory Class로 PlayRTC 인터페이스를 반환합니다.

 

newInstance(PlayRTCSettings settings, PlayRTCObserver observer)

PlayRTC 인터페이스 내부 구현 개체를 생성하고 PlayRTC 인터페이스를 반환합니다.

V2.2.6 제거

Prototype

public static PlayRTC newInstance(PlayRTCSettings settings, PlayRTCObserver observer)

Parameters

 Argumant Name  Data Type  Description
settings PlayRTCSettings PlayRTCSetting 개체.PlayRTCSettings setting = new PlayRTCSettings();이하 서비스 설정.
 observer PlayRTCObserver PlayRTC 인터페이스를 구현한 내부 개체의 이벤트를 접달받기 위한 리스너인터페이스의 구현 개체

 

Return

PlayRTC, PlayRTC 인터페이스를 반환합니다.

 

Exception

  • RequiredParameterMissingException : 생성자에 전달한 필수 Parameter가 없음
  • UnsupportedPlatformVersionException : Android 플랫폼 버전이 SDK가 지원 가능한 버전보다 낮음

createConfig

PlayRTC 서비스 관련 설정 항목을 지정할 수 있는 PlayRTCConfig 개체를 생성하여  반환합니다.

V2.2.0 추가

Prototype

public static PlayRTCConfig createConfig()

Parameters

없음

 

Return

PlayRTCConfig, PlayRTCConfig 인터페이스를 반환합니다.

 


 

createPlayRTC(PlayRTCConfig config, PlayRTCObserver observer)

PlayRTC 인터페이스 내부 구현 개체를 생성하고 PlayRTC 인터페이스를 반환합니다.

V2.2.0 추가

Prototype

public static PlayRTC createPlayRTC(PlayRTCConfig config, PlayRTCObserver observer)

Parameters

 Argumant Name  Data Type  Description
config PlayRTCConfig PlayRTCConfig 개체.

PlayRTCConfig config =  PlayRTCFactory.createConfig()이하 서비스 설정.

 observer PlayRTCObserver PlayRTC 인터페이스를 구현한 내부 개체의 이벤트를 접달받기 위한 리스너인터페이스의 구현 개체

Return

PlayRTC, PlayRTC 인터페이스를 반환합니다.

Exception

  • RequiredParameterMissingException : 생성자에 전달한 필수 Parameter가 없음
  • UnsupportedPlatformVersionException : Android 플랫폼 버전이 SDK가 지원 가능한 버전보다 낮음

 

 

PlayRTC

PlayRTC SDK의 대표인터페이스 Class로 SDK 내부의 구현 개체는 PlayRTCConfig의 설정 정보로 WebRTC서비스를 위한 내부개체 초기화를 수행하고 PlayRTC 플랫폼 서비스에 연결하여 채널 및 시스널링을 수행하여 단말간 P2P 연결을 수립합니다. PlayRTC는 P2P 연결을위한 전반적인 기능을제공하기 위해 인터페이스가 정의되어 있으며 내부의 주요 이벤트를 전달받기위해서는 PlayRTCObserver 인터페이스 구현 개체가 필요합니다.

Package : com.sktelecom.playrtc.PlayRTC PlayRTC 서비스구현의주요단계는다음과같습니다.

 

  1. PlayRTC 개체 생성

PlayRTCFactory의 인스턴스 생성  메소드(createPlayRTC)로 내부 구현 개체를 생성합니다. 이때  서비스 환경 설정을 위한PlayRTCConfig()개체와이벤트를 전달받기 위한PlayRTCObserver 인터페이스 구현 Class를 전달 받습니다.

2. PlayRTC 플랫폼 서비스 채널 입장

PlayRTC 플랫폼 채널 Service에 새로운 채널을 생성하거나, 기존의 채널에 입장하여 P2P연결 수립을 수행합니다. PlayRTC 플랫폼 채널 Service는 channelId, token를 필요로 하며 이 값은 채널 생성 또는 채널 입장 과정에서 내부적으로 전달 받습니다. channelId의 경우 채널 생성 시에 생성되어 전달 받으며, 상대방 사용자는 이값을 전달 받아 채널에 입장을 합니다.

3. 로컬미디어스트림 출력

채널 서버에 연결 되면 SDK는 로컬 영상/음성 스트림을 제어를 위한 개체를 생성하여 PlayRTCObserver의 onAddLocalStream 을 통해 PlayRTCMedia인터페이스를 전달하며, 전달 받은 PlayRTCMedia에 영상 출력 뷰의 렌더러를 전달하여 영상을 출력하도록 해야 합니다.

 

4. 상대방과의 연결수락 과정진행

PlayRTCSetting의 channel.ring을 true로 설정하면 상호간에 연결수락 과정을 진행하며, PlayRTCObserver를통해서 상대방으로부터 연결수락을 받은경우와상대방으로부터의 연결 수락 의사를 수신한 경우등  두개의상황을처리해야합니다.

 

5. 연결수립 후 원격미디어스트림 출력

P2P연결 수립 후 상대방의 영상/음성 스트림을 제어를 위한 개체를 생성하여 PlayRTCObserver의 onAddRemoteStream을 통해 PlayRTCMedia인터페이스를 전달하며, 전달 받은 PlayRTCMedia에 영상 출력 뷰의 렌더러를 전달하여 영상을 출력하도록 해야 합니다.

6. 데이터 통신을 위한 PlayRTCData 인터페이스

상대방과 P2P가 연결 되면 데이터 스트림 통신을 위한 개체를 생성하고 PlayRTCObserver의 onAddDataStream인터페이스를 통해 전달받습니다. 데이터 스트림 객체의 상태와 오류 정보 및 데이터 수신을 처리 하기 위한 PlayRTCDataObserver 인터페이스 구현체를 등록하고, 데이터 송신 시 에는 메소드 인자로 playRTCSendDataObserver인터페이스 구현체를 전달해야 합니다.

 

7. PlayRTC의 상태 변경 정보와 오류 정보 처리

PlayRTC의 주요상태 변화와 오류 정보를 전달 받아 처리합니다.

 

8. 상대방과의연결종료처리

채널에서퇴장하거나채널을종료하여상대방과의연결을종료하도록합니다.


enum PlayRTCStatus

PlayRTC 객체의 중요 상태 정의

 Name  Description
None PlayRTC 초기 상태.
Initialize PlayRTC 라이브러리를 사용하기위한 초기화 및 설정상태
ChannelStart 채널 서비스에 채널 연결 준비(open) 단계
ChannelConnect 채널 서비스에 채널 연결(connect) 단계
LocalMedia 로컬 영상 스트림을 얻기 위한 로컬미디어 생성
Channeling 채널 서비스에 채널 입장, Channeling
Ring 상호간에 연결을 승인하거나 상대방의 연결 승인을 받는 상태
PeerCreation P2P연결을 수행하는 내부 Connection 개체 생성
Signaling 시그널 메타 데이터 교환
PeerConnecting 상대방과의 P2P 연결을 수립하기 위해 연결을 시도하는 상태
PeerDataChannel 상대방과의 P2P 연결 수립 완료 후 상대방의 데이터 통신을 위한 DataChannel 생성
PeerMedia 상대방과의 P2P 연결 수립 완료 후 상대방의 영상/음성 스트림을 얻기 위한 미디어 스트림 생성
PeerSuccess 상대방과의 P2P 연결 수립 성공
PeerConnected 상대방과의 P2P 연결 상태. 네트워크 상태에 따라 disconnect와connect 이벤트가 여러번 일어날 수 있습니다.
PeerDisconnected 상대방과의 P2P 연결 단절. 상태네트워크 상태에 따라 disconnect와connect 이벤트가 여러번 일어날 수 있습니다.
PeerClosed P2P 연결이 명시적으로 종료한 상태
UserCommand 채널 서비스를 통해서 사용자정의 데이터를 교환
ChannelDisconnected 채널 서비스 연결 종료
Closed PlayRTC 종료
NetworkConnected Network Connectivity Status connected 상태
NetworkDisconnected Network Connectivity Status disconnected 상태, 3G/LTE 또는 wifi <->3G/LTE 간 전환 시에는

P2P 재연결이 되지 않습니다.

 


 

enum PlayRTCCode

PlayRTC 객체의 오류 정의

Name Description
None PlayRTC 초기 상태. 오류 없음
MissingParameter 필수 Parameter가 없음
InvalidParameter 질못된 Parameter를 사용
VersionUnsupported SDK 버전 지원하지 않음
MediaUnsupported 단말기의 영상/음성 장치 미지원 또는 로컬미디어 생성 시 오류발생
ConnectionFail 채널/시그널 서비스에 연결 실패
DisconnectFail 채널/시그널 서비스 연결 종료 시 오류
SendRequestFail  채널/시그널 서비스에 데이터 전송 시 오류 발생
MessageSyntax 채널/시그널 서비스 전문 오류 발생
ProjectIdInvalid 채널 서비스의 ProjectID 인증 실패
TokenInvalid 채널/시그널 서비스의 사용자 Token 인증 실패
ChannelIdInvalid 채널 서비스의 채널 ID 인증실패
ServiceError 채널/시그널 서비스 오류
PeerMaxCount Peer 접속 인원 허용 초과
PeerIdInvalid 채널/시그널 서비스에서 사용자 아이디 인증 실패
PeerIdAlready 채널/시그널 서비스에 동일한 사용자 아이디가 등록 되어 있음
PeerInternalError P2P 연결 개체 내부 오류
PeerConnectionFail P2P 연결 실패
SdpCreationFail P2P 연결을 위한 Session Description 생성 실패
SdpRegistrationFail P2P 연결을 위한 Session Description 등록 실패
DataChannelCreationFail P2P 데이터 통신을 위한 DataChannel 생성 실패
NotConnect 채널 연결 개체가 없거나 채널에 연결되어 있지 않음
ConnectAlready 이미 채널 서비스에 연결한 상태


 

enum PlayRTCAudioType

AudioManager Audio Path 유형 정의

Name Description
AudioNone 없음
AudioReceiver wired 이어폰
AudioSpeaker 스피커
AudioEarphone Ear 스피커
AudioBluetooth Bluetooth, v2.2.1 부터 지원


enum PlayRTCWhiteBalance – new 2.2.10

PlayRTC Camera WhiteBalance 정의

 

Name Description
Auto WhiteBalance 자동 설정
Incandescent WhiteBalance 백열등빛
FluoreScent WhiteBalance 형광등빛
DayLight WhiteBalance 햇빛/일광
CloudyDayLight WhiteBalance 흐린빛/구름 or 플래쉬
TwiLi WhiteBalance 저녁빛 아침이나 일몰 1~2시간전
Shade WhiteBalance 그늘/그림자


getVersion

PlayRTC SDK의 버전을 반환합니다

Prototype

public String getVersion()

Parameters

없음



Return

PlayRTC SDK의 버전을 반환합니다. 예 "2.2.0"


getSettings

PlayRTC 서비스 설정정보 개체를 반환합니다

version 2.1.2 이하

Prototype

public PlayRTCSettings getSettings()

 

Parameters

없음



Return

PlayRTCSettings, PlayRTCSettings개체를 반환합니다.


getPeerId

채널에 입장한 경우 채널 서비스에서 부여 받은 User의 아이디를 반환합니다.

 

Prototype

public String getPeerId()

 

Parameters

없음



Return

String, 채널 서비스에 입장하여 부여받은 User의 아이디를 반환합니다.



getPeerUid

채널에 입장할 때 지정한 Application에서 사용하는 User의 아이디를 반환합니다.

 

Prototype

public String getPeerUid()

 

Parameters

없음



Return

String, 채널에입장 시 전달한 Application의 User 아이디를 반환합니다.

 


 

 

getChannelId

채널 서비스에서 부여받은 아이디를 반환합니다.   Prototype

public String getChannelId()

 

Paraeters

없음



Return

String, 채널의 아이디를 반환합니다.

getLocalMedia

메소드 호출 시점에서 로컬미디어 스트림 개체가 생성되어 있다면 생성되어 있는 스트림 개체의 인터페이스를 반환합니다.

생성 전이라면 null.

 

Prototype

public PlayRTCMedia getLocalMedia()

 

Parameters

없음



Return

PlayRTCMedia, 로컬 미디어스트림 개체의 인터페이스를 반환합니다. 생성전이라면 null.

getRemoteMedia

메소드 호출 시점에서 상대방(peerId) 미디어 스트림 개체가 생성되어 있다면 생성되어 있는 스트림 개체의 인터페이스를 반환합니다.

생성전이라면 null.

 

Prototype

public PlayRTCMedia getRemoteMedia(final String peerId)

 

Parameters

 Argumenet Name  Data Type  Description
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디



Return

PlayRTCMedia, 상대방 미디어스트림 개체의 인터페이스를 반환합니다. 생성 전 이라면 null.

getData

메소드 호출 시점에서 상대방(peerId) 데이터스트림 객체가 생성되어 있다면 생성되어 있는 스트림객체의 인터페이스를 반환합니다.

생성전이라면 null.

 

Prototype

public PlayRTCData getData(final String peerId)

 

Parameters

 Argumenet Name  Data Type  Description
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디



Return

PlayRTCData, 상대방과의 데이터스트림 개체의 인터페이스를 반환합니다. 생성전이라면 null.

createChannel

SKT PlayRTC 플랫폼의 채널서비스에 새로운 채널을 생성하고 서비스 관련 설정정보를 받아채널에 입장하여 상대방과의 상호식별 및 P2P연결을 위한 데이터교환을 수행하여 P2P연결이 수립 되도록 합니다.  SDK 설정에서상호연결 시도 전 수락과정(ring)을 설정하였다면 상호식별 직 후 연결 의사를 묻는 과정이 수행되고 수락과정을 생략하도록 설정했다면 바로 시그널링을 진행하여 P2P 연결을시도합니다.

채널 생성 시 채널 서비스에 전달하는 데이터는 다음과같고, 채널 또는 Peer 관련 조회 시 응답데이터에 포함되서 받을 수 있습니다. 필요 시 채널 또는 Peer 항목에 데이터를추가합니다.

  • channel : JSONObject, 채널에 대한 부가 정보
    • channelName String, 채널에 대한 NickName
  • peer : JSONObject, peer(사용자)에 대한 부가 정보
    • uid String, User에 대한 ID로  User에 대한 ID로 application에서 사용하는 사용자 아이디
    • userName String, User에 대한 Nickname
  • 예: {“channel”:{“channelName”:”test channel”}, “peer”:{“userName”:”mickey”,”uid”:”id0101″}}

 

Prototype

public void createChannel(final JSONObject parameters) throws RequiredConfigMissingException

 

Parameters

 Argumenet Name  Data Type  Description
 parameters  JSONObject  채널 및 사용자 관련 부가정보를 전달하는 경우에 데이터를 정의



Return

없음

 

관련이벤트

  • PlayRTCObserver.onConnectChannel : PlayRTC 플랫폼 채널 서비스에 채널을 생성 한후 채널 아이디를 전달

 

오류

  • PlayRTCObserver.onError
    • PlayRTCStatus.ChannelConnect
    • PlayRTCCode.ConnectionFail : 채널 생성 실패 시
    • PlayRTCCode.SendRequestFail : 채널 생성 요청을 보내지 못함, 통신 오류

 

Exception

  • RequiredConfigMissingException : PlayRTCSetting.android의 android Application Conext 객체가 없음

 


 

connectChannel

SKT PlayRTC 플랫폼의 채널서비스에 생성되어 있는 채널에 입장하여 서비스관련 설정정보를 받아 상대방과의 상호식별 및 P2P연결을 위한데이터 교환을 수행하여  P2P연결이 수립되도록 합니다.  SDK 설정에서 상호연결시도 전 수락과정(ring)을 설정하였다면 상호 식별 직후 연결의사를 묻는 과정이 수행되고수락과정을 생략하도록 설정했다면 바로 시그널링을 진행하여 P2P연결을시도합니다.

채널입장 시 채널서비스에 전달하는 데이터는다음과 같고, Peer  관련 조회 시 응답 데이터에 포함되서 받을 수 있습니다. 필요시 채널 또는 Peer 항목에 데이터를 추가합니다.

  • peer : JSONObject, peer(사용자)에 대한 부가 정보
    • uid String, User에 대한 ID로  User에 대한 ID로 application에서 사용하는 사용자 아이디
    • userName String, User에 대한 Nickname

 

Prototype

public void connectChannel(final String channelId,
                           final JSONObject parameters) throws RequiredConfigMissingException

 

Parameters

 Argumenet Name  Data Type  Description
 channelId  String  PlayRTC 플랫폼서비스에 생성 되어있는 채널의 아이디
 parameters  JSONObject  채널 및 사용자 관련 부가정보를 전달하는 경우에 데이터를 정의



Return

없음

 

관련이벤트

  • PlayRTCObserver.onConnectChannel : PlayRTC 플랫폼 채널 서비스에 입장한 후 채널 아이디를 전달

 

오류

  • PlayRTCObserver.onError
    • PlayRTCStatus.ChannelConnect
    • PlayRTCCode.ConnectionFail : 채널 생성 실패 시
    • PlayRTCCode.SendRequestFail : 채널 생성 요청을 보내지 못함, 통신 오류

 

Exception

  • RequiredConfigMissingException : PlayRTCSetting.android의 android Application Conext 객체가 없음

 


accept

SKT PlayRTC 플랫폼의 채널서비스에 연결이 되면 PlayRTC SDK는 서비스 설정에서 ring(연결수락과정)을 확인후  true이면  PlayRTC SDK는먼저 입장한 사용자에게 연결의사를 묻는 요청을 전송하며, 상대방은 PlayRTCObserver를 통해 통보 받게 됩니다. 이때 연결 수락 의사를 accept메소드를 호출하여 상대에게 전달합니다.

 

Prototype

public void accept(final String peerId)

 

Parameters

 Argumenet Name  Data Type  Description
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디

 

Return

없음

 

관련이벤트

  •  PlayRTCObserver.onAccept : 연결요청을수락하면상대방이수락의사를받음

 

오류

  • PlayRTCObserver.onError
    • PlayRTCStatus.RingAccept
    • PlayRTCCode.SendRequestFail : 데이터를 보내지 못함, 통신 오류

 


 

reject

SKT PlayRTC 플랫폼의 채널서비스에 연결이 되면 PlayRTC SDK는 서비스 설정에서 ring(연결수락과정)을 확인후  true이면  PlayRTC SDK는연결 의사를 묻는 요청을 전송하며, 상대방은 PlayRTCObserver를통해 통보 받게 됩니다. 이때 연결 수락 거부 의사를 reject메소드를호출하여상대에게 전달합니다.

 

Prototype

public void reject(final String peerId)

 

Parameters

 Argumenet Name  Data Type  Description
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디

 

Return

없음

 

관련이벤트

  •  PlayRTCObserver.onReject : 연결요청을 거절하면 상대방이 거절 의사를 받음

 

오류

  • PlayRTCObserver.onError
    • PlayRTCStatus.RingReject
    • PlayRTCCode.SendRequestFail : 데이터를 보내지 못함, 통신 오류

 


 

resume

PlayRTC를 사용하는 Activity의 onResume 이벤트 호출 시 PlayRTC의 resume인터페이스를 호출 하여 미디어 출력 및 미디어 스트림 획득을 재 시작하도록 합니다.

 

Prototype

public void resume()

 

Parameters

없음

 

Return

없음

pause

PlayRTC를 사용하는 Activity의 onPause 이벤트 호출 시 PlayRTC의 pause인터페이스를 호출 하여 미디어 출력 및 미디어 스트림 획득을 중지하도록 합니다.

 

Prototype

public void pause()

 

Parameters

없음

 

Return

없음

 


 

disconnectChannel

채널에서 퇴장합니다. disconnectChannel을 호출하면 SDK는 채널 서비스에 채널 퇴장을 요청하게 되며, 채널서비스는 해당 사용자의 채널 연결을 종료(onDisconnectChannel)하고, 채널에 있는 사용자에게 해당 사용자의 채널 퇴장(onOtherDisconnectChannel)을 알리게 됩니다. 해당 사용자의 채널퇴장 시 PlayRTC SDK개체는 P2P연결을종료하고 P2P 관련 리소스를 해제한 후 채널 연결을 종료합니다.

 

Prototype

public void disconnectChannel(final String peerId)

 

Parameters

 Argumenet Name  Data Type  Description
 peerId  String  채널을퇴장하는 PlayRTC 플랫폼 채널서비스의 User 아이디, null 을넘기면자신의아이디를사용

Return

없음

 

관련이벤트

  •   PlayRTCObserver. onDisconnectChannel: 자신이 채널에서 퇴장할 때 호출 받음
  •   PlayRTCObserver. onOtherDisconnectChannel: 다른 사용자가 채널에서 퇴장할 때 호출 받음

 

오류

  • PlayRTCObserver.onError
    • PlayRTCStatus. ChannelDisconnected
    • PlayRTCCode: NotConnect: 채널에 연결이 안되어 있음
    • PlayRTCCode.DisconnectFail: 채널 연결 종료시 오루 발생
    • PlayRTCCode.SendRequestFail : 요청을 보내지 못함, 통신 오류

 


 

deleteChannel

PlayRTC 플랫폼서비스에 생성되어 있는 채널을 종료합니다. deleteChannel을 호출하면 채널서비스는 채널에 있는 모든사용자에게 채널종료를 통보(onDisconnectChannel)하고 모든 연결을 종료하게 됩니다. 채널종료시 PlayRTC SDK객체는모든 P2P연결을종료하고 P2P관련 리소스를 해제한 후 채널 연결을 종료합니다.

 

Prototype

public void deleteChannel()

 

Parameters

없음

 

Return

없음

 

관련이벤트

  •   PlayRTCObserver. onDisconnectChannel:  채널이 종료될 때 호출받음

 

오류

  • PlayRTCObserver.onError
    • PlayRTCStatus. ChannelDisconnected
    • PlayRTCCode: NotConnect: 채널에 연결이 안되어 있음
    • PlayRTCCode.DisconnectFail: 채널 연결 종료시 오루 발생
    • PlayRTCCode.SendRequestFail : 요청을 보내지 못함, 통신 오류

 


userCommand

SKT PlayRTC 플랫폼의 채널 서비스를 이용하여 Application에서 정의한 custom-command를 상대방에게 전달 합니다. PlayRTC SDK는 custom-command를 가공 처리없이 상대방에게 by-Pass 합니다.

custom-command를 전송하면 상대방은 IPlayRTCEvent 인터페이스의 onCommand 메소드로 데이터를 수신 받는다.

 

Prototype

public void userCommand(final String peerId, final String data)

 

Parameters

 Argumenet Name  Data Type  Description
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 data  String  서비스 정의 Command 문자열

 

Return

없음

 

관련이벤트

  •  PlayRTCObserver.onUserCommand : 상대방이 application에서 정의한 Command를 수신했을 때 호출

 

오류

  • PlayRTCObserver.onError
    • PlayRTCStatus.UserCommand
    • PlayRTCCode.SendRequestFail : 데이터를 보내지 못함, 통신 오류

 


 

getChannelList

PlayRTC 플랫폼채널서비스에생성되어있는채널목록을조회합니다.

 

Prototype

public boolean getChannelList(final PlayRTCServiceHelperListener listener)

 

Parameters

 Argumenet Name  Data Type  Description
 listener  PlayRTCServiceHelperListener  응답을 받기 위한 리스너

 

Return

boolean,  서비스 호출 실패 시 false

 

관련이벤트

  • PlayRTCServiceHelperListener.onServiceHelperResponse :  조회 성공 시 데이터를 전달 받음
  • PlayRTCServiceHelperListener.onServiceHelperFail:  조회 실패 시 실패 데이터를 받음

 


 

getChannel

PlayRTC 플랫폼채널서비스에생성되어있는 채널정보를 조회합니다.

 

Prototype

public boolean getChannel(final String channelId, final PlayRTCServiceHelperListener listener)

 

Parameters

 Argumenet Name  Data Type  Description
 channelId  String  채널아이디
 listener  PlayRTCServiceHelperListener  응답을 받기 위한 리스너

 

Return

boolean,  서비스 호출 실패 시 false

 

관련이벤트

  •  PlayRTCServiceHelperListener.onServiceHelperResponse :  조회 성공 시 데이터를 전달 받음
  •  PlayRTCServiceHelperListener.onServiceHelperFail:  조회 실패 시 실패 데이터를 받음

 


searchChannelByName

PlayRTC 채널서비스에 생성되어 있는 채널 정보를 채널 이름으로 조회합니다.

Prototype

public boolean searchChannelByName(final String channelName, final PlayRTCServiceHelperListener listener)

Parameters

 Argumenet Name  Data Type  Description
 channelName  String  채널이름
 listener PlayRTCServiceHelperListener  응답을 받기 위한 리스너

Return

boolean,  서비스 호출 실패 시 false

관련이벤트

  • PlayRTCServiceHelperListener.onServiceHelperResponse :  조회 성공 시 데이터를 전달 받음
  • PlayRTCServiceHelperListener.onServiceHelperFail:  조회 실패 시 실패 데이터를 받음

 


searchChannelById

PlayRTC 채널서비스에 생성되어 있는 채널 정보를 채널 아이디로 조회합니다.

Prototype

public boolean searchChannelById(final String channelId, final PlayRTCServiceHelperListener
listener)

Parameters

 Argumenet Name  Data Type  Description
 channelName  String  채널이름
 listener PlayRTCServiceHelperListener  응답을 받기 위한 리스너

Return

boolean,  서비스 호출 실패 시 false

관련이벤트

  • PlayRTCServiceHelperListener.onServiceHelperResponse :  조회 성공 시 데이터를 전달 받음
  • PlayRTCServiceHelperListener.onServiceHelperFail:  조회 실패 시 실패 데이터를 받음

 


 

getPeerList

PlayRTC 플랫폼채널서비스에  입장한 User 정보목록을조회합니다.

 

Prototype

public boolean getPeerList(final String channelId, final PlayRTCServiceHelperListener listener)

 

Parameters

 Argumenet Name  Data Type  Description
 channelId  String  채널아이디
 listener  PlayRTCServiceHelperListener  응답을 받기 위한 리스너

 

Return

boolean,  서비스 호출 실패 시 false

 

관련이벤트

  • PlayRTCServiceHelperListener.onServiceHelperResponse :  조회 성공 시 데이터를 전달 받음
  •  PlayRTCServiceHelperListener.onServiceHelperFail:  조회 실패 시 실패 데이터를 받음

getPeer

PlayRTC 플랫폼채널서비스에입장한특정 User 정보를조회합니다.

 

Prototype

public boolean getPeer(final String channelId, final String peerId, final PlayRTCServiceHelperListener listener)

 

Parameters

 Argumenet Name  Data Type  Description
 channelId  String  채널아이디
 peerId  String  채널에입장한 User의아이디
 listener  PlayRTCServiceHelperListener  응답을 받기 위한 리스너

 

Return

boolean,  서비스 호출 실패 시 false

 

관련이벤트

  • PlayRTCServiceHelperListener..onServiceHelperResponse :  조회 성공 시 데이터를 전달 받음
  •  PlayRTCServiceHelperListener.onServiceHelperFail:  조회 실패 시 실패 데이터를 받음

switchVideoCamera

P2P연결 후 영상 스트림을 전송하는 단말기의 카메라를 전환합니다.

 

Prototype

public boolean switchVideoCamera()

 

Parameters

없음

Return

boolean

 

관련이벤트


notificationAudioType

version 2.2.0에 추가된 PlayRTCConfig  Audio의 setAudioManagerEnable  설정을 true로 지정하면 내부에서 자동으로 지정이 됩니다.

version 2.1.2 또는 PlayRTCConfig  Audio의 setAudioManagerEnable  설정을 false로 지정한 경우에는 Audio 품징을 위해 반듯이 호출해야 합니다.

PlayRTCAudioType을 SDK에 알려줍니다.
단말기의 Audio출력 경로가 변경될 때 SDK에 유형을 전달하여 소리 출력을 현재 출력 경로에 맞게 최적화 하도록 합니다.

PlayRTCAudioManager Util Class 또는 Android의 AudioManager를 이용하여Audio출력을 변경한 후 Audio출력 경로를 전달합니다.

Prototype

public void notificationAudioType(PlayRTCAudioType type)

Parameters

 Argumenet Name  Data Type  Description
 type  PlayRTCAudioType  단말기의 Audio출력 경로, enum PlayRTCAudioType 참고

Return

없음

사용 예

private PlayRTCAudioManager audioManager = null;

private PlayRTC playrtc = null;
protected void onCreate() {
....

audioManager = PLayRTCAudioManager.create((Context)this, new Runnable() {
   @override
   public void run() {
      AudioDevice device = audioManager.getSelectedAudioDevice();
      if(playrtc != null) {
          if(device == AudioDevice.WIRED_HEADSET) {
               playrtc.notificationAudioType(PlayRTCAudioType.AudioReceiver);
          }
          else if(device == AudioDevice.SPEAK_PHONE) {
               playrtc.notificationAudioType(PlayRTCAudioType.AudioSpeaker);
          }
          else if(ddvice == AudioDevice.EARPIECE) {
               playrtc.notificationAudioType(PlayRTCAUdioDevice.AudioEarphone);

          }
      }

   }

}

 

 


startStatsReport

version 2.2.1

PlayRTC SDK P2P 상태를 조회를 시작하는 인터페이스

P2P 상태를 전달 받기 위해 PlayRTCReportObserver인터페이스를 구현하여 전달해야 합니다.

 

Prototype

public void startStatsReport(long interval, PlayRTCReportObserver observer)

Parameters

 Argumenet Name  Data Type  Description
 interval  long P2P 상태를 조회하는 주기를 지정, 최소 2000(2초),  msec
 observer  PlayRTCReportObserver P2P 상태를 전달 받기 위한 리스너 이터페이스

Return

없음


stopStatsReport

version 2.2.1

PlayRTC SDK P2P 상태를 조회를 중지하는 인터페이스

 

Prototype

public void stopStatsReport()

Parameters

없음

Return

없음

resume

PlayRTC를 사용하는 Activity의 onResume 이벤트 호출 시 PlayRTC의 resume인터페이스를 호출 하여 미디어 출력 및 미디어 스트림 획득을 재 시작하도록 합니다.

Prototype

public void resume()

Parameters

없음

Return

없음

 


startAudioManager – new 2.2.2

version 2.2.1.01

PlayRTC AudioManager를  수동으로 구동하는 인터페이스

PlayRTCConfig.audio.setAudioManagerEnable(true)를 설정한 경우에는  자동 호출되는 기능입니다.

 

Prototype

public void startAudioManager()

Parameters

없음

Return

없음


stopAudioManager – new 2.2.2

version 2.2.2

PlayRTC AudioManager를 수동으로 중지하는  인터페이스

PlayRTC가 정상적으로 채널 종료하는 경우 자동 호출되는 기능입니다.

Prototype

public void stopAudioManager()

Parameters

없음

Return

없음


close – new 2.2.2

version 2.2.2

PlayRTC 종료 시 내부 인스턴스를 해제하는  인터페이스

PlayRTC 를 구현한 Activity에서 더 이상 PlayRTC 인스턴스를 사용하지 않는 경우 호출합니다.

Prototype

public void close()

Parameters

없음

Return

없음


switchBackCameraFlash – new 2.2.3

P2P연결 후 후방 카메라 사용시 후방 카메라 플래쉬를 On/Off합니다.

Prototype

public boolean switchBackCameraFlash(boolean on)

Parameters

 Argumenet Name  Data Type  Description
 on  boolean  플래쉬 On/Off 설정

Return

boolean

 


isBackCameraFlashOn – new 2.2.3

후방 카메라 플래쉬 On/Off 상태를 반환합니다.

Prototype

public boolean isBackCameraOn()

Parameters

없음

Return

boolean

isUseBackCamera – new 2.2.6

후방 카메라 사용 여부를 반환합니다.

Prototype

public boolean isUsedBackCamera()

Parameters

없음

Return

boolean

관련이벤트

 


setCameraRotation – new 2.2.9

카메라 영상의 추가 회전 각도를 지정하는 인터페이스

각도를 지정하면 현재의 카메라 회전각도에 지정한 각도를 더해 회전처리합니다.

0, 90, 180, 270 도

전방 카메라 사용 시 : 시계 반대방향 회전

후방 카메라 사용 시 :  시계 방향 회전

Prototype

public void setCameraRotation(int degree)

Parameters

 Argumenet Name  Data Type  Description
 degree  int  추가 회전각도, 0, 90, 180, 270

Return

boolean

getCameraRotation – new 2.2.9

카메라 영상의 추가 회전 각도를 반환합니다.

Prototype

public int getCameraRotation()

Parameters

없음

Return

int , 0, 90, 180, 270


getCameraZoomRange – new 2.2.10

현재 사용중인 카메라의 Zoom Leval 지정 범위값을 반환합니다.

maximum 값이 0이면 Zoom지원 안함.

Prototype

PlayRTCRange getCameraZoomRange()

Parameters

없음

Return

PlayRTCRange


getCurrentCameraZoom – new 2.2.10

현재 사용중인 카메라의 Zoom Leval 값을 반환합니다.

Prototype

int getCurrentCameraZoom()

Parameters

없음

Return

int,


setCameraZoom – new 2.2.10

현재 사용중인 카메라의 Zoom Leval 지정하는 인터페이스

Zoom Leval max보다 크게 지정할 없다.

Prototype

boolean setCameraZoom(int zoomLevel)

Parameters

 Argumenet Name  Data Type  Description
 zoomLevel  int

Zoom 설정 . min <= zoomLevel >= max

Return

boolean , 실행여부


getCameraWhiteBalance – new 2.2.10

현재 사용중인 카메라의 WhiteBalance를 반환합니다.

Prototype

PlayRTCWhiteBalnace getCameraWhiteBalnace()

Parameters

없음

Return

PlayRTCWhiteBalance


isSuportedCameraWhiteBalance – new 2.2.10

현재 사용중인 카메라가 전달받은 WhiteBalance를 지원 하는지 여부를  반환합니다.

Prototype

PlayRTCWhiteBalnace isSuppportedCameraWhiteBalnace(PlayRTCWhiteBalance whitebalance)

Parameters

 Argumenet Name  Data Type  Description
whitebalance
PlayRTCWhiteBalance
whitebalance

 

Return boolean

PlayRTCWhiteBalance 지원 여부


setCameraWhiteBalance – new 2.2.10

현재 사용중인 카메라의 WhiteBalance 지정하는 인터페이스

Android 단말기에 따라 동작하지 않을 수 있음.

Prototype

boolean setCameraWhiteBalance(PlayRTCWhiteBalance whitebalance)

Parameters

 Argumenet Name  Data Type  Description
whitebalance
PlayRTCWhiteBalance
whitebalance

Return

BOOL , 실행여부

getCameraExposureCompensationRange  – new 2.2.10

현재 사용중인 카메라의 노출 보정값 설정 범위를  반환합니다.

maxium 값이 0 이면 지원 않함.

Prototype

PlayRTCRange getCameraExposureCompensationRange()

Parameters

없음

Return

PlayRTCRange


getCameraExposureCompensation  – new 2.2.10

현재 사용중인 카메라의 노출 보정값을  반환합니다.

Prototype

int getCameraExposureCompensation()

Parameters

없음

Return

int,


setCameraExposureCompensation – new 2.2.10

현재 사용중인 카메라의 노출 보정값을 지정하는 인터페이스

exposureCompensation max보다 크게 지정할 없다.

Prototype

boolean setCameraExposureCompensation( int exposureCompensation)

Parameters

 Argumenet Name  Data Type  Description

exposureCompensation

 int

min <= exposureCompensation >= max

getCameraExposureCompensationRange으로 확인

Return

boolean , 실행여부 


 PlayRTCStatsReport

Package : com.sktelecom.playrtc.PlayRTCStstaReport

PlayRTC P2P 상태를 정의한 Class.

 

version 2.2.1

getLocalCandidate

자신의 ICE 서버 연결상태를   반환한다.

 

Prototype

public String getLocalCandidate()

 

Parameters

없음

 

Return

String, ICE 서버 연결상태
  - host : 로컬네트워크사용.
  - srflx : STUN 에서 얻은 Public IP 사용.
  - relayed :TURN Relay 사용

 


getRemoteCandidate

상대방의 ICE 서버 연결상태를   반환한다.

Prototype

public String getRemoteCandidate()

Parameters

없음

Return

String, ICE 서버 연결상태
  - host : 로컬네트워크사용.
  - srflx : STUN 에서 얻은 Public IP 사용.
  - relayed :TURN Relay 사용

getLocalFrameWidth

상대방에게 전송하는 영상의 해상도 가로 크기를 반환한다.

 

Prototype

public int getLocalFrameWidth()

Parameters

없음

Return

int, 영상의  가로 해상도 크기

getLocalFrameHeight

상대방에게 전송하는 영상의 해상도 세로 크기를 반환한다.

Prototype

public int getLocalFrameHeight()

Parameters

없음

Return

int, 영상의 세로 해상도 크기

getRemoteFrameWidth

상대방 수신  영상의 해상도 가로 크기를 반환한다.

Prototype

public int getRemoteFrameWidth()

Parameters

없음

Return

int, 영상의 가로 해상도 크기

getRemoteFrameHeight

상대방 수신  영상의 해상도 세로 크기를 반환한다.

Prototype

public int getRemoteFrameHeight()

Parameters

없음

Return

int, 영상의 세로 해상도 크기

 


getLocalFrameRate

상대방에게 전송하는 영상의 Bit-Rate를 반환한다.

Prototype

public int getLocalFrameRate()

Parameters

없음

Return

int, 영상의 Bit-Rate


 

getRemoteFrameRate

상대방 수신  영상의 Bit-Rate 반환한다.

Prototype

public int getRemoteFrameRate()

Parameters

없음

Return

int, 영상의 Bit-Rate

 

 


getAvailableSendBandWidth

상대방에게 전송할 수 있는 네트워크 대역폭을 반환한다.

Prototype

public int getAvailableSendBandWidth()

Parameters

없음

Return

int, 네트워크 대역폭 Bit-Rate, Kbps


getAvailableReceiveBandWidth

상대방으로부터 수신할 수 있는 네트워크 대역폭을 반환한다.

Prototype

public int getAvailableReceiveBandWidth()

Parameters

없음

Return

int, 네트워크 대역폭 Bit-Rate, Kbps


getRtt

자신의 Rount Trip Time 반환한다.

Prototype

public int getRtt()

Parameters

없음

Return

int,  msec


getRttRating

RTT값을기반으로 네트워크 상태를 5등급으로 분류하여 RttRating 를 반환한다.

Prototype

public RatingValue getRttRating()

Parameters

없음

Return

RatingValue

 5등급 분류.

1 : 사용자가 매우 만족함,  0 ~ 199

2 : 사용자가 대부분 만족함, 200 ~ 299

3 : 사용자가 대체로 만족함, 300 ~ 399

4 : 사용자가 불만족함 , 400 ~ 400

5 : 사용자가 매우 불만족함, 500 이상

 


getFractionRating

Packet Loss 값을 기반으로 상대방의 영상 전송 상태를 5등급으로 분류하여 RatingValue 를 반환한다.

Prototype

public RatingValue getRemoteVideoFractionLost()

Parameters

없음

Return

RatingValue

 5등급 분류. Audio + Video

1 : 사용자가 매우 만족함,  0 ~ 40

2 : 사용자가 대부분 만족함, 41 ~ 55

3 : 사용자가 대체로 만족함, 56~ 70

4 : 사용자가 불만족함 , 71~ 90

5 : 사용자가 매우 불만족함, 90 이상


getLocalAudioFractionLost

Packet Loss 값을 기반으로 자신의 음성 전송 상태를 5등급으로 분류하여RatingValue 를 반환한다.

Prototype

public RatingValue getLocalAudioFractionLost()

Parameters

없음

Return

RatingValue

 5등급 분류. Audio Only

1 : 사용자가 매우 만족함,  0 ~ 50

2 : 사용자가 대부분 만족함, 51 ~ 150

3 : 사용자가 대체로 만족함, 151~ 200

4 : 사용자가 불만족함 , 201~ 250

5 : 사용자가 매우 불만족함, 151 이상


getLocalVideoFractionLost

Packet Loss 값을 기반으로 자신의 영상 전송 상태를 5등급으로 분류하여RatingValue 를 반환한다.

Prototype

public RatingValue getLocalVideoFractionLost()

Parameters

없음

Return

RatingValue

 5등급 분류. Audio + Video

1 : 사용자가 매우 만족함,  0 ~ 40

2 : 사용자가 대부분 만족함, 41 ~ 55

3 : 사용자가 대체로 만족함, 56~ 70

4 : 사용자가 불만족함 , 71~ 90

5 : 사용자가 매우 불만족함, 90 이상


getRemoteAudioFractionLost

Packet Loss 값을 기반으로 상대방의 음성 전송 상태를 5등급으로 분류하여RatingValue 를 반환한다.

Prototype

public RatingValue getRemoteAudioFractionLost()

Parameters

없음

Return

RatingValue

 5등급 분류. Audio Only

1 : 사용자가 매우 만족함,  0 ~ 50

2 : 사용자가 대부분 만족함, 51 ~ 150

3 : 사용자가 대체로 만족함, 151~ 200

4 : 사용자가 불만족함 , 201~ 250

5 : 사용자가 매우 불만족함, 151 이상


getRemoteVideoFractionLost

Packet Loss 값을 기반으로 상대방의 영상 전송 상태를 5등급으로 분류하여RatingValue 를 반환한다.

Prototype

public RatingValue getRemoteVideoFractionLost()

Parameters

없음

Return

RatingValue

 5등급 분류. Audio + Video

1 : 사용자가 매우 만족함,  0 ~ 40

2 : 사용자가 대부분 만족함, 41 ~ 55

3 : 사용자가 대체로 만족함, 56~ 70

4 : 사용자가 불만족함 , 71~ 90

5 : 사용자가 매우 불만족함, 90 이상


getLocalVideoCodec – new v2.2.6

로컬 Video Codec 이름을 반환한다.

Prototype

public String getLocalVideoCodec()

Parameters

없음

Return

String, "VP8" , "VP9", "H264" 


getLocalAudioCodec – new v2.2.6

로컬 Audio Codec 이름을 반환한다.

Prototype

public String getLocalAudioCodec()

Parameters

없음

Return

String, "ISAC", "opus" 


getRemoteVideoCodec – new v2.2.6

Remote Video Codec 이름을 반환한다.

Prototype

public String getRemoteVideoCodec()

Parameters

없음

Return

String, "VP8" , "VP9", "H264" 


getRemoteAudioCodec – new 2.2.6

Remote Audio Codec 이름을 반환한다.

Prototype

public String getRemoteAudioCodec()

Parameters

없음

Return

String, "ISAC", "opus" 


RatingValue

Package : com.sktelecom.playrtc.PlayRTCStstaReport.RatingValue

version 2.2.1

PlayRTC P2P 상태를 정의한 Value Class.

 

getLeval

1 ~ 5 단계의 품질 등급을 반환한다.

 

Prototype

public int getLevel()

 

Parameters

없음

 

Return

int, 1 ~ 5 단계의 품질 등급을 반환합니다.

 

 


getValue

실 측정 수치를 반환합니다.

Prototype

public float getValue()

Parameters

없음

Return

float, 실 측정 수치 반환합니다.

SDK Specification – com.sktelecom.playrtc.config

 

PlayRTCConfig

Package : com.sktelecom.playrtc.config.PlayRTCConfig

version 2.2.0 추가

PlayRTC 서비스 설정을 위한 Class로  PlayRTCConfig개체를 생성하여  PlayRTC 서비스 관련 설정 항목을 지정할 수 있습니다.

PlayRTC 객체를 생성시에 인자로 전달합니다.

주요설정항목은다음과같습니다.

  • PlayRTC 서비스 프로젝트 정보
  • PlayRTC 미디어 서비스 관련 설정
  • PlayRTC 로깅 설정

Members

 

Member Name Data Type Description
video  PlayRTCVideoConfig 영상 설정 개체, 영상 전송 사용, 해상도 Frame-Rate등을 설정합니다.
audio  PlayRTCAudioConfig 음성 설정 개체,음성 전송 사용, 음성 필터 등을 설정합니다.
data  PlayRTCDataConfig Data-Channel 통신설정 개체
log  PlayRTLogConfig PlayRTC SDK 로깅 관련 설정 개체
bandwidth PlayRTCBandwidthConfig P2P 미디어 Bandwidth 설정 개체

 


setAndroidContext

PlayRTC 구현 App의 Android Context를 지정합니다.

 

Prototype

public void setAndroidContext(Context context)

Parameters

 Argumenet Name  Data Type  Description
 context  Context  PlayRTC 구현 App의 Android Context

Return
없음

 

 


setRingEnable

채널링 과정에서 상호 연결 수립 의사를 확인하는 과정을 수행할 지 여부, true이면 나중에 채널에 입장한 사용자는 먼저 입장한 사용자의 허락을 받아야 연결을 시작합니다.

Prototype

public void setRingEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  Ring 사용 여부

Return
없음


setPrevUserMediaEnable – new v2.2.7

PlayRTCMedia객체 생성 시점을 지정하는 인터페이스로,

true 지정하면 채널 서비스에 입장 시점에서 우선 생성하게 되고 false 지정하면 Peer간에 연결 과정을 시작할 때(Peer 객체 생성 시점) 생성합니다.

default true

Prototype

public void setPrevUserMediaEnable( boolean enable )

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean SDK가 PlayRTCMedia를 생성하는 시점을 지정

Return
없음


setProjectId

T-Dev 서비스에서 생성한 프로젝트 아이디를 지정합니다.

Prototype

public void setProjectId(String projectId)

Parameters

 Argumenet Name  Data Type  Description
 projectId  String T-Dev 서비스에서 생성한 프로젝트 아이디를 지정합니다.

Return
없음

 


  setHttpReferer

멤버변수 TDCHttpReferer를 지정합니다.

Prototype

public void setHttpReferer(String httpReferer)

Parameters

 Argumenet Name  Data Type  Description
 httpReferer  String T-Dev 서비스를 이용하기 위한 HTTP 헤더의 Referer값으로 도메인 관련 접근 보안에 사용되는 값입니다.

Return
없음

 


setPrevUserMediaEnable – new v2.2.7

PlayRTCMedia객체 생성 시점을 지정하는 인터페이스로,

true 지정하면 채널 서비스에 입장 시점에서 우선 생성하게 되고 false 지정하면 Peer간에 연결 과정을 시작할 때(Peer 객체 생성 시점) 생성합니다.

default TRUE

Prototype

- void setPrevUserMediaEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  BOOL SDK사 PlayRTCMedia를 생성하는 시점을 지정

Return
없음


 

PlayRTCVideoConfig

Package : com.sktelecom.playrtc.config.PlayRTCVideoConfig

영상 설정 개체, 영상 전송 사용, 해상도 Frame-Rate등을 설정합니다.

P2P 영상 전송 해상도의 경우 기본은 640 x 480.

해상도의 최대 크기와 최소 크기를 다르게 지정하면 640 x 480 해상도를 사용하며, 크기를 동일하게 지정하면

지정한 해상도를 사용하게 됩니다. 단 망 연결 상태에 따라 해상도가 축소될 수 있습니다.

 

enum CameraType

영상 전송 카메라 유형을 정의

Name Description

Front

전방 카메라

Back

후방 카메라

enum VideoCodec

영상 Codec유형을 정의

Name Description

VP8

VP8

VP9

VP9

H264

Open H.264

setEnable

P2P 영상 전송 기능 사용 여부를 지정합니다.

false 지정 시 Read-Only로 동작하여 상대방 영상 수신이 됩니다.

default true

 

Prototype

public void setEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  영상 전송 사용 여부를 지정

 

Return

없음


setCameraType

영상 전송 사용 시 카메라를 지정합니다.

default CameraType.Front

 

Prototype

public void setCameraType(CameraType camera)

Parameters

 Argumenet Name  Data Type  Description
 camera  CameraType  카메라 지정. enum CameraType 참고

 

Return

없음

 


setMaxFrameSize

P2P 영상 전송 해상도의 최대 크기를 지정합니다.

영상 해상도의 최대 크기와 최소 크기를 다르게 지정하면 640 x 480 해상도를 사용하며, 크기를 동일하게 지정하면

지정한 해상도를 사용하게 됩니다. 단 망 연결 상태에 따라 해상도가 축소될 수 있습니다.

 

default 640 x 480

 

Prototype

public void setMaxFrameSize(int width, int height)

 

Parameters

Argument Name Data Type Description
width int 영상 width
height int 영상height

 

Return
없음

 


setMinFrameSize

P2P 영상 전송 해상도의 최소 크기를 지정합니다.

영상 해상도의 최대 크기와 최소 크기를 다르게 지정하면 640 x 480 해상도를 사용하며, 크기를 동일하게 지정하면

지정한 해상도를 사용하게 됩니다. 단 망 연결 상태에 따라 해상도가 축소될 수 있습니다.

default 640 x 480

 

Prototype

public void setMinFrameSize(int width, int height)

Parameters

Argument Name Data Type Description
width int 영상 width
height int 영상height

Return
없음

 


setMaxFrameRate

P2P  전송영상의 최대 Frame-Rate 크기를 지정합니다.

 

default 30, 최대 30

 

Prototype

public void setMaxFrameRate(int framerate)

 

Parameters

 Argumenet Name  Data Type  Description
 framerate  int  frate-rate, 15 ~ 30

 

Return

없음

 


setMinFrameRate

P2P  전송영상의 최소 Frame-Rate 크기를 지정합니다.

default 15, 최대 30

Prototype

public void setMinFrameRate(int framerate)

Parameters

 Argumenet Name  Data Type  Description
 framerate  int  frate-rate, 15 ~ 30

Return

없음

 


setPreferCodec

P2P 영상의 우선 적용  Codec을 지정합니다.

Codec 지정 시 상호간의 단말기 환경에 따라 다른 Codec이 사용될수 있음.

default true

Prototype

public void setPreferCodec(VideoCodec codec)

Parameters

 Argumenet Name  Data Type  Description
 codec  VideoCodec  영상 Codec

Return

없음


 

PlayRTCAudioConfig

Package : com.sktelecom.playrtc.config.PlayRTCAudioConfig

음성 설정 개체, 음성 전송 사용, 음성 품질 필터 등을 설정합니다.

enum AudioCodec

Audio Codec유형을 정의

Name Description

ISAC

isac codec

OPUS

opus codec

 

 

setEnable

P2P음성 전송 기능 사용 여부를 지정합니다.

false 지정 시 Read-Only로 동작하여 상대방음성 수신이 됩니다.

default true

Prototype

public void setEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  영상 전송 사용 여부를 지정

Return

없음


setAudioManagerEnable

단말기의 음성 출력 장치를 자동으로 지정하는 기능으로 내부적으로 PlayRTCAudioManager를 사용합니다.

false 지정 시 외부에서 직접 구현하거나  PlayRTCAudioManager util 객체를 생성하여 구동시켜야 합니다.

PlayRTCAudioManager Class 와 PlayRTC의 notificationAudioPath를 참고하세요.

default true

 

Prototype

public void setAudioManagerEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  사용여부

Return

없음


setEchoCancellationEnable

 

EchoCancellation 사용 여부를 지정합니다.

default true

 

Prototype

public void setEchoCancellationEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  사용여부

Return

없음


setAudioGainControlEnable

AutoGainControl사용 여부를 지정합니다.

 

default true

Prototype

public void setAudioGainControlEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  사용여부

Return

없음

 


setNoiseSuppressionEnable

NoiseSuppression 사용 여부를 지정합니다.

default true

Prototype

public void setNoiseSuppressionEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  사용여부

Return

없음


setHighpassFilterEnable

HighpassFilter 사용 여부를 지정합니다.

default true

Prototype

public void setHighpassFilterEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  사용여부

Return

없음

 


setPreferCodec

P2P Audio의 우선 적용  Codec을 지정합니다.

Codec 지정 시 상호간의 단말기 환경에 따라 다른 Codec이 사용될수 있음.

default true

Prototype

public void setPreferCodec(AudioCodec codec)

Parameters

 Argumenet Name  Data Type  Description
 codec  AudioCodec  Audio  Codec

Return

없음

 


 

 

PlayRTCDataConfig

Package : com.sktelecom.playrtc.config.PlayRTCDataConfig

Data-Channel 관련  설정 Class

setEnable

Data-Channel 통신 기능 사용 여부를 지정합니다.

default false

 

Prototype

public void setEnable(boolean enable)

Parameters

 Argumenet Name  Data Type  Description
 enable  boolean  Data 통신  사용 여부를 지정

Return

없음

 


PlayRTCBandwidthConfig

Package : com.sktelecom.playrtc.config.PlayRTCBandwidthConfig

P2P 미디어 스트림  Bandwidth 관련  설정 Class

setVideoBitrateKbps

P2P Video 미디어 스트림  Bandwidth 를 지정합니다.

default 2500

 

Prototype

public void setVideoBitrateKbps(int bitrateKbps)

Parameters

 Argumenet Name  Data Type  Description
 bitrateKbps  int Bandwidth를 지정, kbps

Return

없음

 


 

setAudioBitrateKbps

P2P Audio 미디어 스트림  Bandwidth 를 지정합니다.

default 50

Prototype

public void setAudioBitrateKbps(int bitrateKbps)

Parameters

 Argumenet Name  Data Type  Description
 bitrateKbps  int Bandwidth를 지정, kbps

Return

없음

 


setDataBitrateKbps

P2P Data 미디어 스트림  Bandwidth 를 지정합니다.

default 1638

Prototype

public void setDataBitrateKbps(int bitrateKbps)

Parameters

 Argumenet Name  Data Type  Description
 bitrateKbps  int Bandwidth를 지정, kbps

Return

없음

 

 

 

 


 

PlayRTCLogConfig

Package : com.sktelecom.playrtc.config.PlayRTCLogConfig

SDK 로그에 대한 설정 정보를 담아 PlayRTC SDK에 전달되어 로깅 관련 설정을 합니다.

Members

Member Name Data Type Description
console ConsoleLogC com.sktelecom.playrtc.config.PlayRTCLogConfig.ConsoleLogConfig Class 인스턴스. Console Log 관련 설정 정의
file FileLogConfig com.sktelecom.playrtc.config.PlayRTCLogConfig.FileLogConfig Class 인스턴스. File Log 관련 설정 정의


ConsoleLogConfig

Package : com.sktelecom.playrtc.config.PlayRTCLogConfigConsoleLogConfig

Console로그에 대한 설정 정보를 담아 PlayRTC SDK에 전달되어 Console 로깅 관련 설정을 합니다.

setLevel

멤버 변수 level을지정합니다.

 

Prototype

public void setLevel(int level)

 

Parameters

Argument Name Data Type Description
level int Console 로깅 레벨

  • PlayRTCConfig.VERBOSE
  • PlayRTCConfig.DEBUG
  • PlayRTCConfig.INFO
  • PlayRTCConfig.WARN
  • PlayRTCConfig.ERROR

 

Return

없음


FileLogConfig

Package : com.sktelecom.playrtc.config.PlayRTCLogConfig.FileLogConfig

File로그에 대한 설정 정보를 담아 PlayRTC SDK에 전달되어 File로깅 관련 설정을 합니다.

setLevel

멤버 변수 level을지정합니다.

 

Prototype

public void setLevel(int level)

 

Parameters

Argument Name Data Type Description
level int Console 로깅 레벨

  • PlayRTCConfig.VERBOSE
  • PlayRTCConfig.DEBUG
  • PlayRTCConfig.INFO
  • PlayRTCConfig.WARN
  • PlayRTCConfig.ERROR

Return

없음

 


setLogPath

멤버 변수logPath를 지정합니다.

Prototype

public void setLogPath(String logPath)

Parameters

Argumenet Name Data Type0 Description
logPath String 로깅파일폴더를지정. 폴더안에 yyyyMMdd.log형태의파일생성. 미지정시로깅저장안함

Return

없음

 


setRolling

멤버 변수 rolling을 지정합니다.   Prototype

public void setRolling(int rolling)

Parameters

Argumenet Name Data Type Description
rolling int 로깅파일을보관처리하는최대일수를지정

Return

없음

 


SDK Specification – com.sktelecom.playrtc.stream

 

PlayRTCData Interface Class

Pakage : com.sktelecom.playrtc.stream.PlayRTCData

P2P 데이터 통신을 제공하기 위한 인터페이스 Class로 PlayRTC SDK에서 PlayRTCData 인터페이스 구현 개체를 생성하여 PlayRTCObserver의 onAddDataStream를 통해 전달됩니다. PlayRTCData를 전달받으면 데이터 수신과 상태 및 오류 정보를 전달 받기 위해 PlayRTCDataObserver 인터페이스 를 구현 한 개체를 등록해야합니다.

PlayRTCData 개체는 전송할데이터가 10K 이상 일 경우 내부적으로 데이터를 분할해서 전송하며 PlayRTCDataObserver를 구현한 개체에서 데이터수신 시 수신 데이터 정보를 알려주는  PlayRTCDataHeader를 확인하여 데이터를 처리해야합니다.

 

enum PlayRTCFileRecvType

PlayRTCData 객체의 파일 수신 처리 유형을 정의

Name Description
Byte 기본값, 상대방으로부터 파일 데이터 수신 시, 내부 버퍼에 데이터를 축적한 후 PlayRTCDataObserver의onMessage 인터페이로로 Byte배열을 전달한다. 이베트 수신 시 직접 파일로 저장해야 하며 파일 데이터가 큰경우메모리 문제가 발생할 수 있습니다.
File 상대방으로부터 파일 데이터 수신 시, 내부에서 파일을 생성 후 수신 데이터를 파일에 저장합니다.파일경로명은PlayRTCDataObserver의 onMessage 인터페이스로 전달합니다.

 

enum PlayRTCDataStatus

PlayRTCData 객체의 상태 유형을 정의

Name Description
None 초기상태
Connection P2P 데이터통신채널연결중인상태
Open P2P 데이터통신채널연결되어데이터를교환할수있는상태
Closing P2P 데이터통신채널연결종료중인상태
Closed P2P 데이터통신채널연결연결종료상태

 

enum PlayRTCDataCode

PlayRTCData 객체의 오류 코드를 정의

Name Description
None 오류없음
NotOpen  DataChannel Open 상태가아님
FileIO  파일 전송 시 파일 I/O 오류 발생
SendBusy 데이터 전송 중에 데이터 전송 요청을 함
SendFail 데이터 전송 실패
ParseFail 데이터 수신 시 패킷 분할 헤더가 없어 수신 데이터를 처리 할 수가 없음

 


setFileRecvMode

PlayRTCData 객체가 상대방으로부터 파일 데이터 수신 시 처리하는 방법을 지정합니다.

Prototype

public void setFileRecvMode(final PlayRTCFileRecvType recvMode)

Parameters

Argumenet Name Data Type Description
recvMode PlayRTCFileRecvMode PlayRTCData 객체의 파일 수신 처리 형태.enum PlayRCTRecvFileType 참고

Return

없음

getFileRecvMode

PlayRTCData 객체의 PlayRTCFileRecvMode를 반환합니다. 기본 PlayRTCFileRecvMode.Byte

Prototype

public PlayRTCFileRecvType getFileRecvMode()

Parameters

없음

Return

PlayRTCFileRecvMode

setEventObserver

 

PlayRTCData 객체의 상태 및 오류  정보, 데이터 수신 상태를 전달 받기 위한 PlayRTCDataObserver 인터페이스를 구현한 개체를 PlayRTCData에 등록합니다.

 

Prototype

public void setEventObserver(final PlayRTCDataObserver listener)

 

Parameters

Argumenet Name Data Type Description
listener PlayRTCDataObserver PlayRTCData 객체의 상태 및 오류 정보, 데이터 수신 상태를 전달 받기 위한 리스너 구현체의 인터페이스

 

Return

없음

getStatus

PlayRTCData 객체의 상태를 반환합니다.

 

Prototype

public PlayRTCDataStatus getStatus()

 

Parameters

없음

Return

PlayRTCDataStatus, PlayRTCData 객체의 상태 유형

 


 

sendText

데이터 통신 채널을 통해 텍스트데이터를 전송합니다. 전송할데이터가 8192Byte 이상일 경우 내부적으로 데이터를 분할해서 전송하며, 상대방은 PlayRTCDataObserver를 통해서 데이터를 수신하며, PlayRTCDataHeader를 확인하여 수신하는 데이터 유형에 맞게 처리하도록 해야합니다.

 

Prototype

public long sendText(final String text, final PlayRTCSendDataObserver observer)

 

Parameters

Argumenet Name Data Type Description
text String 전송할텍스트데이터
listener PlayRTCSendDataObserver 전송결과를전달받기위한 인터페이스

 

Return

long,  데이터를 전송할때 고유번호를 생성하여 데이터의 헤더에 명시해서 전송하며 이때 사용하는 고유번호를 반환합니다.

 

송신이벤트

  • PlayRTCSendDataObserver.onSending:데이터 전송 이벤트
  • PlayRTCSendDataObserver.onSuccess: 데이터 전송 성공 이벤트
  • PlayRTCSendDataObserver.onError: 데이터 전송 진행 실패 이벤트

 

상대방수신이벤트

  • PlayRTCDataObserver.onProgress: 데이터를 수신 진척 상태 전달하는 이벤트
  • PlayRTCDataObserver.onMessage: 데이터 수신 완료 시 이벤트
  • PlayRTCDataObserver.onError: 데이터  수신 오류 이벤트

 

오류

  • PlayRTCDataObserver.onError
    • PlayRTCDataCode.NotOpen: DataChannel에 연결이 안되어 있음
    • PlayRTCDataCode.SendFail: 데이터 전송시 오류 발생
    • PlayRTCDataCode.SendBusy: 데이터 전송 중
    • PlayRTCDataCode.SendFail: 데이터 전송시 오류 발생

 


 

sendByte

데이터 통신 채널을 통해 Binary 데이터를 전송합니다. 전송할데이터가 10K 이상일 경우 내부적으로 데이터를 분할해서 전송하며, 상대방은 PlayRTCDataObserver를 통해서 데이터를 수신하며, PlayRTCDataHeader를 확인하여 수신하는 데이터 유형에 맞게 처리하도록 해야합니다.

 

Prototype

public long sendByte(final byte[] bytes,
                     final String mimeType,
                     final PlayRTCSendDataObserver observer)

 

Parameters

Argumenet Name Data Type Description
bytes byte[] 전송할 binary 데이터
mimeType String 데이터의 Mime-Type 문자열, 없으면 null
listener PlayRTCSendDataObserver 전송결과를전달받기위한 인터페이스

 

 

Return

long,  데이터를 전송할때 고유번호를 생성하여 데이터의 헤더에 명시해서 전송하며 이때 사용하는 고유번호를 반환합니다.

 

송신이벤트

  • PlayRTCSendDataObserver.onSending:데이터 전송 이벤트
  • PlayRTCSendDataObserver.onSuccess: 데이터 전송 성공 이벤트
  • PlayRTCSendDataObserver.onError: 데이터 전송 진행 실패 이벤트

 

상대방수신이벤트

  • PlayRTCDataObserver.onProgress: 데이터를 수신 진척 상태 전달하는 이벤트
  • PlayRTCDataObserver.onMessage: 데이터 수신 완료 시 이벤트
  • PlayRTCDataObserver.onError: 데이터  수신 오류 이벤트

 

오류

  • PlayRTCDataObserver.onError
    • PlayRTCDataCode.NotOpen: DataChannel에 연결이 안되어 있음
    • PlayRTCDataCode.SendFail: 데이터 전송시 오류 발생
    • PlayRTCDataCode.SendBusy: 데이터 전송 중
    • PlayRTCDataCode.SendFail: 데이터 전송시 오류 발생

 


 

sendFile – java.io.File

데이터 통신 채널을 통해 파일을 전송합니다. 전송할데이터가 8192Byte 이상일 경우 내부적으로 데이터를 분할해서 전송하며, 상대방은 PlayRTCDataObserver를 통해서 데이터를 수신하며, PlayRTCDataHeader를 확인하여 수신하는 데이터 유형에 맞게 처리하도록 해야합니다.

 

Prototype

public long sendFile(final File f, final PlayRTCSendDataObserver observer)</pre>
<pre>

 

Parameters

Argument Name Data Type Description
f File 전송할 File
listener PlayRTCSendDataObserver 전송결과를전달받기위한 인터페이스

Return

long,  데이터를 전송할때 고유번호를 생성하여 데이터의 헤더에 명시해서 전송하며 이때 사용하는 고유번호를 반환합니다.

 

송신이벤트

  • PlayRTCSendDataObserver.onSending:데이터 전송 이벤트
  • PlayRTCSendDataObserver.onSuccess: 데이터 전송 성공 이벤트
  • PlayRTCSendDataObserver.onError: 데이터 전송 진행 실패 이벤트

 

상대방수신이벤트

  • PlayRTCDataObserver.onProgress: 데이터를 수신 진척 상태 전달하는 이벤트
  • PlayRTCDataObserver.onMessage: 데이터 수신 완료 시 이벤트
  • PlayRTCDataObserver.onError: 데이터  수신 오류 이벤트

 


 

sendFile – java.io.InputStreame

데이터 통신 채널을 통해 파일을 전송합니다. 전송할데이터가 8192Byte 이상일 경우 내부적으로 데이터를 분할해서 전송하며, 상대방은 PlayRTCDataObserver를 통해서 데이터를 수신하며, PlayRTCDataHeader를 확인하여 수신하는 데이터 유형에 맞게 처리하도록 해야합니다.

 

Prototype

public long sendFile(final InputStream istream,
                     final String fileName,
                     final PlayRTCSendDataObserver observer)

 

Parameters

Argumenet Name Data Type Description
istream InputStream 전송할 File의 InputStream
fileName String 파일 이름
listener PlayRTCSendDataObserver 전송결과를전달받기위한 인터페이스

 

Return

long,  데이터를 전송할때 고유번호를 생성하여 데이터의 헤더에 명시해서 전송하며 이때 사용하는 고유번호를 반환합니다.

 

송신이벤트

  • PlayRTCSendDataObserver.onSending:데이터 전송 이벤트
  • PlayRTCSendDataObserver.onSuccess: 데이터 전송 성공 이벤트
  • PlayRTCSendDataObserver.onError: 데이터 전송 진행 실패 이벤트

 

상대방수신이벤트

  • PlayRTCDataObserver.onProgress: 데이터를 수신 진척 상태 전달하는 이벤트
  • PlayRTCDataObserver.onMessage: 데이터 수신 완료 시 이벤트
  • PlayRTCDataObserver.onError: 데이터  수신 오류 이벤트

 


 

PlayRTCDataHeader Interface Class

Pakage : com.sktelecom.playrtc.stream.PlayRTCDataHeader

데이터 수신 시 수신 데이터에 대한정보를 알려주기 위한 인터페이스 Class로 PlayRTCDataObserver의 onProgress, onMessage를 통해 전달됩니다.

 

데이터타입정의

  • DATA_TYPE_TEXT   int, static, 0 텍스트 데이터
  • DATA_TYPE_BINARY      int, static, 1  Binary 데이터

getId

데이터 전송 시 부여 받는 고유아이디를 반환합니다.

Prototype

public long getId()

Parameters

없음

Return

long,  데이터를전송할때부여받은고유번호를반환합니다.

 


 

getSize

데이터의전체사이즈를반환합니다. 텍스트데이터의경우 1글자가 2byte로처리됩니다.

Prototype

public long getSize()

 

Parameters

없음

Return

long,  데이터의 byte 크기를 반환합니다.

getType

데이터의유형을반환합니다.

Prototype

public int getType()

 

Parameters

없음

Return

int,  데이터의유형을반환합니다.
  • DATA_TYPE_TEXT   int, static, 0 텍스트 데이터
  • DATA_TYPE_BINARY      int, static, 1  Binary 데이터

 


 

isBinary

데이터유형이텍스트인지바이너리인지여부를반환합니다.

 

Prototype

public boolean isBinary()

 

Parameters

없음

Return

boolean,  데이터 유형이 텍스트이면 false, 바이너리이면 true를 반환합니다.

getFileName

상대방이 보내준 파일명을 반환합니다.

Prototype

public String getFileName()

 

Parameters

없음

 

Return

String, 상대방이보내준파일명을반환합니다.

getMimeType

바이너리 또는 파일 전송일 경우 송신측에서 보내준데이터의 MimeType 반환합니다.

 

Prototype

public String getMimeType()

 

Parameters

없음

Return

String, 바이너리 또는 파일 전송 일 경우 송신측에서 보내준 데이터의 MimeType을 반환합니다.

PlayRTCMedia Interface Class

Pakage : com.sktelecom.playrtc.stream.PlayRTCMedia

PlayRTC SDK는 로컬 또는 상대방의 영상/음성 스트림을 획득 시 PlayRTCMedia 인터페이스를 구현한 객체를 생성하여 onAddLocalStream/onAddRemoreStream 이벤트 인터페이스를 호출하여 PlayRTCMedia 인터페이스 를 전달합니다. PlayRTCMedia를 전달 받으면 영상 출력 뷰(PlayRTCVieoView)에 영상을 출력하도록 처리해야 합니다.

 

PlayRTC SDK는 영상 스트림을 출력하는 com.sktelecom.playrtc.util.ui.PlayRTCVieoView Class를 제공합니다.

  • PlayRTCVideoView는 동적으로 생성하며 생성자에서 View 크기를 전달해야 하므로 Activity 객체의 onCreated에서 생성 하지 않고 스트림 뷰의 화면 크기를 구할 수 있는 onWindowFocusChanged 메소드를 재 정의하여 뷰를 생성하도록 합니다.
  • Layout XML에 PlayRTCVieoView를 기술허여 생성할 수 있으며, 실제 화면 ㅅ이즈를 조정해서 사용합니다.

 

enum MediaSource

 Name  Description
 Local  로컬미디어스트림
 Remote  상대방 P2P 미디어스트림

 


 

setVideoRenderer

영상 스트림을 출력하기 위해 Renderer가 구현되어 있는  PlayRTCVideoView의 Renderer를 전달받습니다.

 

Prototype

public void setVideoRenderer(PlayRTCVideoRenderer renderer)

 

Parameters

Argumenet Name Data Type Description
renderer PlayRTCVideoRenderer 영상출력을위한 Renderer 인터페이스로 PlayRTCVideoView에구현되어있습니다.

 

Return

없음

 


 

getUserId

Application에서 사용하는 사용자의 아이디를 반환합니다.

PlatRTC의 createChannel, connectChannel에서 지정한 peer의 uid로 없으면 “”

Prototype

public String getUserId()

 

Parameters

없음

Return

String, Application에서 사용하는 사용자의 아이디를 반환합니다.

 


 

getUserPid

채널에서부여받은사용자의아이디를반환합니다.

Prototype

public String getUserPid()

 

Parameters

없음

Return

String, 채널에서부여받은사용자의아이디를반환합니다.

 


 

hasVideoStream

Video 스트림을가지고있는지여부를반환합니다.

 

Prototype

public boolean hasVideoStream()

 

Parameters

없음

Return

boolean, Video 스트림을 가지고 있는지 여부를 반환합니다.

 


 

hasAudioStream

Audio 스트림을가지고있는지여부를반환합니다.

Prototype

public boolean hasAudioStream()

 

Parameters

없음

Return

boolean, Audio 스트림을 가지고 있는지 여부를 반환합니다.

getSourceType

Enum MediaSource을 반환합니다.

Prototype

public MediaSource getSourceType()

 

Parameters

없음

Return

MediaSource.Local : 로컬 미디어 스트림
MediaSource.Remote: 상대방 P2P 미디어 스트림

 


 

setAudioMute

Audio 스트림을 Mute 합니다. 로컬스트림을 Mute하는 경우 상대방도 소리가  출력되지않습니다.

 

Prototype

public boolean setAudioMute(final boolean mute)

 

Parameters

Argumenet Name Data Type Description
mute boolean true이면 mute 설정, false이면 mute 해제

 

Return

boolean, 적용 시 true를 반환

setVideoMute

Video 스트림을 Mute 합니다. 로컬스트림을 Mute하는 경우 상대방도 영상이   출력되지않습니다.

 

Prototype

public boolean setVideoMute(final boolean mute)

 

Parameters

Argumenet Name Data Type Description
mute boolean true이면 mute 설정, false이면 mute 해제

 

Return

boolean, 적용 시 true를 반환

isVideoMute – new 2.2.6

Video 출력이 Mute상태인지 여부를 반환한다.

Prototype

public boolean isVideoMute()

Parameters

없음

Return

boolean

isAudioMute – new 2.2.6

Audio 출력이 Mute상태인지 여부를 반환한다.

Prototype

public boolean isAudioMute()

Parameters

없음

Return

boolean

SDK Specification – com.sktelecom.playrtc.observer

 

PlayRTCObserver Interface Class

Pakage : com.sktelecom.playrtc.observer.PlayRTCObserver

PlayRTC 객체의 이벤트를 전달받기 위한 리스너 인터페이스로 PlayRTC 에 PlayRTCObserver 인터페이스를 구현한 구현 개체를 등록해야 합니다.

 


 

onConnectChannel

PlayRTC 개체의 createChannel 또는 connectChannel 메소드를 호출하여 PlayRTC 플랫폼의 서비스 채널에 입장하게 되면 PlayRTC SDK는 채널 관련 정보를 받으며,  채널 아이디를 전달 하기 위해 onConnectChannel을 호출합니다.

 

Prototype

public void onConnectChannel(final PlayRTC obj, final String channelId, final String reasoN)

 

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC  PlayRTC 인터페이스
channelId  String  PlayRTC 플랫폼 서비스의 채널아이디. 사용자간 P2P연결을하려면동일한채널아이디를시용해야합니다.
reason String createChannel을 호출하여 채널에 입장한 경우 “create”, connectChannel을 호출한 경우 “connect”

 

Return

없음

onRing

상호 연결확인 과정(ring)을 설정하였다면 채널에 먼저 입장한  SDK는 나중에 채널에 입장한 사용자로부터 연결 의사를 묻는 요청을 수신하게되고 onRing을 호출합니다. onRing이 호출 되면 사용자로부터 수락여부를 입력받아 상대방에게 전달하도록 해야 합니다. 이때 서비스 개발자는 넘겨받은 사용자아이디로 서비스조회를 통해 사용자 상세 정보를 확인하고, 연결여부를 묻는 UI 개발이 필요할 수도 있습니다.

 

Prototype

public void onRing(final PlayRTC obj, final String peerId, final String peerUid)

 

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC  PlayRTC 인터페이스
peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
peerUid  String  사용자의 application에서사용하는아이디로채널연결시입력한값, 없으면 “”

 

Return

없음

onAccept

PlayRTCSetting 에서 상호연결 확인과정(ring)을 설정하였다면 채널에 나중에 입장한 SDK는 경우먼저 입장한 사용자로부터 연결수락의사를 물어보고 상대로부터승인을받으면 onAccept 를 호출합니다. 이때 SDK는내부적으로 시그널서버에 접속하여 시그널링을 진행하게됩니다.

 

Prototype

public void onAccept(final PlayRTC obj, final String peerId, final String peerUid)

 

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC  PlayRTC 인터페이스
peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
peerUid  String  사용자의 application에서사용하는아이디로채널연결시입력한값, 없으면 “”

 

Return

없음

onReject

PlayRTCSetting에서 상호연결 확인 과정(ring)을 설정하였다면 채널에 나중에 입장한 SDK는  먼저입장한 사용자로부터 연결수락 의사를 물어보고 상대로부터 거부을받으면 onReject 를 호출합니다.  개발자가 이 호출을 받으면 절적한 대응을 구현하여야 합니다.

 

Prototype

public void onReject(final PlayRTC obj, final String peerId, final String peerUid)

Parameters   Data TypeDescription PlayRTCPlayRTC 인터페이스 String PlayRTC 플랫폼 채널 서비스의 User 아이디 String사용자의 application에서사용하는아이디로채널연결시입력한값, 없으면 “” peerIdpeerUid

 

Argumenet Name
obj

Return

없음

onUserCommand

 

Application 개발자가 정의한 사용자 정의 데이터를 채널 서비스를 통해 전달 받으면 PlayRTC SDK는 수신 전문 데이터의 가공 처리 없이 onUserCommand 를 호출하여 전달합니다. 개발자는 onUserCommand 호출 시 데이터에 맞는 대응을 구현해야 합니다.

Prototype

public void onUserCommand(final PlayRTC obj, final String peerId, final String peerUid, final String data)

Parameters

Argumenet Name Data Type Description
obj PlayRTC PlayRTC 인터페이스
peerId String  PlayRTC 플랫폼 채널 서비스의 User 아이디
peerUid String 사용자의 application에서사용하는아이디로채널연결시입력한값, 없으면 “”
data
String 상대방이 전송한 데이터 문자열

Return

없음

onAddLocalStream

 

PlayRTC SDK가 PlayRTCMedia 구현 개체를 생성 하고 인터페이스를  사용자에게 전달 할 때 사용하는 이벤트이며

 

PlayRTCMedia는 PlayRTC SDK 설정에서 영상/음성 스트리밍을 사용하도록 설정하면, 로컬 단말의 미디어 스트림을 생성하고 PlayRTCMedia를  onAddLocalStream이벤트를 통해 전달합니다.

 

onAddLocalStream 를 통해 PlayRTCMedia를 전달 받으면 com.sktelecom.playrtc.util.ui.PlayRTCVideoView 객체에서 영상 스트림 렌더러를 구하여 전달해야 합니다.

 

Prototype

public void onAddLocalStream(final PlayRTC obj, final PlayRTCMedia media)

 

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC   PlayRTC 인터페이스
media PlayRTCMedia  미디어스트림처리를위한  PlayRTCMedoa 인터페이스

Example

private PlayRTCVideoView localView = null;

@Override
public void onAddLocalStream(final PlayRTC obj, final PlayRTCMedia media) {

 this.localMedia = media;
 // PlayRTCVIdeoView의 렌더러를 전달하여 영상 스트림 출력
 this.localMedia.setVideoRenderer(localView.getRenderer());
}

 

Return

없음

 


 

onAddRemoteStream

PlayRTC SDK가 PlayRTCMedia 구현 개체를 생성 하고 인터페이스를  사용자에게 전달 할 때 사용하는 이벤트이며

PlayRTC SDK가 P2P연결이 수립되어 상대방의 미디어 스트림을 수신하면 PlayRTCMedia 를 사용자에게 전달하기 위해  onAddRemoteStream 인를 호출합니다.

onRemoteStream 를 통해 PlayRTCMedia를 전달 받으면 com.sktelecom.playrtc.util.ui.PlayRTCVideoView 객체에서 영상 스트림 렌더러를 구하여 전달해야 합니다.

Prototype

public void onRemoteStream (final PlayRTC obj,
                            final String peerId,
                            final String peerUid,
                            final PlayRTCMedia media)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC   PlayRTC 인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
media  PlayRTCMedia  미디어스트림처리를위한  PlayRTCMedia 인터페이스

Example

private PlayRTCVideoView remoteView = null;
@Override
public void onAddRemoteStream(final PlayRTC obj, final String peerId, final String peerUid, final PlayRTCMedia media){
    this.remoteMedia = media;
    // PlayRTCVIdeoView의 렌더러를 전달하여 영상 스트림 출력
    this.remoteMedia. setVideoRenderer (remoteView.getRenderer());
}

Return

없음

onAddDataStream

PlayRTC SDK가 P2P 데이터 교환용 데이터채널을 생성한후 PlayRTCData 인터페이스를 사용자에게 전달할떄 호출하는 이벤트이며,  PlayRTCData는 PlayRTC SDK 설정에서데이터통신을 사용하도록 설정하면 상대방과의 P2P 데이터 채널 연결이 수립될때생성되어 onDataStream 이벤트를통해전달됩니다.

 

Prototype

public void onAddDataStream(final PlayRTC obj,
                            final String peerId,
                            final String peerUid,  
                            final PlayRTCData data)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC   PlayRTC 인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
data  PlayRTCData  P2P 데이터 전송 처리를 위한 PlayRTCData 인터페이스.상대방의 데이터 수신은 PlayRTCDataObserver 인터페이스를 통해서 처리며 데이터 전송 결과는 PlayRTCSebdDataObserver를 전송 메소드 호출 시 같이 넘겨 확인합니다.

 

Return

없음

onDisconnectChannel

채널서버로부터 채널퇴장Command를 받거나 채널 종료 시 호출 되며 SDK는 채널에서 연결을 맺은 모든 P2P 연결을종료하고 P2P 연결 객체를 모두해제한후 최종적으로 채널서버와의 연결 개체를 해제합니다.  onDisconnectChannel은 PlayRTC가채널 퇴장을 알리기 위해 호출하는 이벤트입니다.

 

Prototype

public void onDisconnectChannel(final PlayRTC obj, final String reason)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC   PlayRTC 인터페이스
 reason  String  disconnectChannel을 호출하여 채널에서 퇴장한 경우 “disconnect”, deleteChannel을 호출한 경우 “delete”

 

Return

없음

onOtherDisconnectChannel

채널서버로부터 상대방의 채널퇴장 Command를 받아 상대방과의 P2P 연결을종료-상대방이 먼저 P2P 연결을 해제하지 않았다면- 하고 P2P 객체를 해제합니다. onOtherDisconnectChannel은 PlayRTC가 상대방의 채널퇴장을 알리기 위해 호출되는 이벤트입니다.

채널서버는 채널퇴장요청을 받아채널에 있는 사용자들에게 채널퇴장을 통보하고 채널 연결을 해제합니다.

 

Prototype

public void onOtherDisconnectChannel(final PlayRTC obj, final String peerId, final String peerUid)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC   PlayRTC 인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”

 

Return

없음

onStateChange

PlayRTC의 상태 변경사항을 전달받는 이벤트 인터페이스.

PlayRTC상태 정의는 enum PlayRTCStatus 항목 참고

 

Prototype

public void onStateChange(final PlayRTC obj,
                          final String peerId,
                          final String peerUid,
                          final PlayRTCStatus status,
                          final String desc)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC   PlayRTC 인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 status  PlayRTCStatus  PlayRTC 상태 정의 코드.enum PlayRTC.PlayRTCStatus 참고
 desc  String  Description

 

Return

없음

onError

PlayRTC 에서발생하는오류를전달받는이벤트인터페이스.

PlayRTC상태 정의는 enum PlayRTC.PlayRTCStatus 항목 참고

PlayRTC 오류 정의는 enum PlayRTC.PlayRTCCode 항목 참고

 

Prototype

public void onError(final PlayRTC obj, final PlayRTCStatus status, final PlayRTCCode code, final String desc)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTC   PlayRTC 인터페이스
 status  PlayRTCStatus  PlayRTC 상태 정의 코드.enum PlayRTC.PlayRTCStatus 참고
 code  PlayRTCCode  PlayRTC 오류 정의 코드.enum PlayRTC.PlayRTCCode 항목 참고
 desc  String  Description

 

Return

없음

PlayRTCDataObserver Interface Class

Pakage  : com.sktelecom.playrtc.observer.PlayRTCDataObserver

PlayRTCData 객체를  통해서 P2P 데이터 통신 시 발생하는 주요 이벤트를 전달 받아 처리하기 위한 이벤트 인터페이스로 주요이벤트는수신데이터알림과, PlayRTCData의상태 및 오류 정보가 있습니다. PlayRTCObserver의 onAddDataStream 인터페이스를 통해서 PlayRTCData를 전달 받으면 PlayRTCDataObserver 인터페이스 구현 개체를 전달해야 합니다.

 


 

onProgress

PlayRTCData는 데이터 전송시 데이터크기를 8192Byte 기준으로 분할하고 헤더정보를 구성하여 데이터를 전송하며 데이터 수신 시 진행상황을 이벤트를통해알려줍니다. 수신데이터는 고유번호가 지정되어 있으며 수신한 데이터 관련정보를 PlayRTCDataHeader로 같이 전달합니다.

 

Prototype

public void onProgress(final PlayRTCData obj,
                       final String peerId,
                       final String peerUid,
                       final long recvSize,
                       final PlayRTCDataHeader header)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTCData  PlayRTCData  인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 recvSize  long  수신받은데이터의누적크기
 header  PlayRTCDataHeader  데이터정보,  PlayRTCDataHeader 항목 참고

 

Return

없음

onMessage

전체 데이터수신이 완료될 때호출이 됩니다.

PlayRTCDataHeader 정보를 확인하여 수신하는 데이터 종류(Text, Binary, File)에 맞게 처리 해야하며, 파일 데이터의 경우 헤더 정보에 파일 이름 및 MimeType이 같이 전달 되므로 데이터 수신 시 파일 저장을 위한 작업이 필요합니다.

 

Prototype

public void onMessage(final PlayRTCData obj,
                      final String peerId,
                      final String peerUid,
                      final PlayRTCDataHeader header, 
                      final byte[] data)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTCData  PlayRTCData  인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 header  PlayRTCDataHeader  데이터정보,  PlayRTCDataHeader 항목 참고
 data  byte[]  수신한 데이터 , 파일 전송의 경우 PlayRTCData에 PlayRTCFileRecvType.File을 지정한 경우 data에는 생성한 파일의 전체 경로가 전달되고,PlayRTCFileRecvType.Byte의 경우 수신한 누적 데이터가 전달된다.

 

Return

없음

onStateChane

PlayRTCData객체의 상태변경이 되면 onStateChange 가 호출됩니다.

 

Prototype

public void onStateChange(final PlayRTCData obj,
                          final String peerId,
                          final String peerUid,
                          final PlayRTCDataStatus state)

 

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTCData  PlayRTCData  인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 state  PlayRTCDataStatus  상태 정의 코드enum  PlayRTCData.PlayRTCDataStatus 참고

 

Return

없음

 

onError

PlayRTCData에서 오류발생시 onError 인터페이스가호출됩니다.

 

Prototype

public void onError(final PlayRTCData obj,
                    final String peerId,
                    final String peerUid,
                    final long id,
                    final PlayRTCDataCode code,
                    final String desc)

 

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTCData  PlayRTCData  인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 id  long  수신 데이터의 고유 아이디
 code  PlayRTCDataCode  enum PlayRTCDataCode 참고
 desc  String  Description

 

Return

없음

PlayRTCDataSendObserver Interface Class

Pakage : com.sktelecom.playrtc.observer.PlayRTCDataSendObserver

데이터 전송 결과를 전달 받아 처리하기 위한 이벤트 인터페이스

 


 

onSending

데이터 전송 진척 정보를 전달하기위해  호출되는 인터페이스.

Prototype

public void onSending(final PlayRTCData obj,
                      final String peerId,
                      final String peerUid,
                      final long id,
                      final long size,
                      final long send,
                      final long index,
                      final long count)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTCData  PlayRTCData  인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 id  long  전송 데이터의 고유 아이디
 size  long  전송 한 데이터의 크기, 문자의경우 1글자는 2byte로처리됩니다.
 send  long  전송 한 데이터의 누적 크기, 문자의경우 1글자는 2byte로처리됩니다.
 index  long  전thd하는 분할 데이터 인덱스
 count  long  전체 분할 데이터 수

Return

없음

onSuccess

PlayRTCData는 데이터전송시 데이터 크기를 8192Byte 기준으로 분할하고 헤더정보를 구성하여 데이터를 전송하며 데이터는 고유번호가 지정됩니다.

데이터 전송에 성공했을 경우 호출되는 인터페이스.

 

Prototype

public void onSuccess(final PlayRTCData obj,
                      final String peerId,
                      final String peerUid,
                      final long id,
                      final long size)

 

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTCData  PlayRTCData  인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 id  long  전송 데이터의 고유 아이디
 size  long  전송한데이터의크기, 문자의경우 1글자는 2byte로처리됩니다.

 

Return

없음

onError

데이터전송시오류발생시이벤트.

 

Prototype

public void onError(final PlayRTCData obj,
                    final String peerId,
                    final String peerUid,
                    final long id,
                    final PlayRTCDataCode code,
                    final String desc)

Parameters

 Argumenet Name  Data Type  Description
 obj PlayRTCData  PlayRTCData  인터페이스
 peerId  String  PlayRTC 플랫폼 채널 서비스의 User 아이디
 peerUid  String  사용자의 application에서 사용하는아이디로 채널연결 시 입력한 값, 없으면 “”
 id  long  전송 데이터의 고유 아이디
 code  PlayRTCDataCode  enum PlayRTCData.PlayRTCDataCode참고
 desc  String  Description

 

Return

없음



PlayRTCStatsObserver Interface Class

Pakage : com.sktelecom.playrtc.observer.PlayRTCStatsObserver

PlayRTC SDK P2P 상태를 전달 받아 처리하기 위한 이벤트 인터페이스


onStatsReport

PlayRTC SDK P2P 상태 정보를 전달하기위해  호출되는 인터페이스.

Prototype

public void onStatsReport(PlayRTCStatsReport report)

Parameters

 Argumenet Name  Data Type  Description
 report PlayRTCStatsReport PlayRTC SDK P2P 상태 정보 정의 인터페이스

Return

없음

SDK Specification – com.sktelecom.playrtc.connector.servicehelper

 

PlayRTCServiceHelperListener Interface Class

Pakage : com.sktelecom.playrtc.connector.servicehelper.PlayRTCServiceHelperListener

PlayRTC의 채널 정보 조회 결과를 받기 위한 리스너 Interface Class입니다.

PlayRTCServiceHelperListener 구현 개체를 전달하여 응답  결과를 수신합니다.

 

onServiceHelperResponse

PlayRTCServiceHelperAdapter 구현 객체의 서비스 응답을 전달하기 위한 인터페이스

 

Prototype

 public void onServiceHelperResponse:(int code,
                                      String statusMsg,
                                      Object returnParam,
                                      JSONObject oData

 

Parameters

 Argumenet Name  Data Type  Description
 code  int  http status code
 statusMsg  String  http status message
 returnParam  Object  비동기 응답 수신처리를 위해 필요한 부가 데이터를 요청 시 전달하고 응답 시 되돌려 받기 위한데이터 Object.
 oData  JSONObject  서비스응답데이터. JSON String

 

Return

없음

 onServiceHelperFail

PlayRTCServiceHelperAdapter 구현 객체의 서비스 실패 응답을 전달하기 위한 인터페이스

 

Prototype

public void onServiceHelperFail(int code,
                               String statusMsg,
                               Object returnParam

 

Parameters

 Argumenet Name  Data Type  Description
 code  int  http status code
 statusMsg  String  http status message
 returnObject
Object
 비동기 응답 수신처리를 위해 필요한 부가 데이터를 요청 시 전달하고 응답 시 되돌려 받기 위한데이터 Object.

 

Return

없음

PlayRTCChannelSearchListener Interface Class

Pakage : com.sktelecom.playrtc.connector.servicehelper.PlayRTCChannelSearchListener

PlayRTC의 채널 정보 검색  결과를 받기 위한 리스너 Interface Class입니다.

 

onChannelSearchResponse

채널 검색  서비스 응답을 전달하기 위한 인터페이스

Prototype

 public void onChannelSearchResponse:(int code,
                                      String statusMsg,
                                      Object returnParam,
                                      JSONArray oList

Parameters

 Argumenet Name  Data Type  Description
 code  int  http status code
 statusMsg  String  http status message
 returnParam  Object  비동기 응답 수신처리를 위해 필요한 부가 데이터를 요청 시 전달하고 응답 시 되돌려 받기 위한데이터 Object.
 oList  JSONArray  서비스응답데이터. JSON Object을 Array 반환

Return

없음

 onServiceHelperFail

PlayRTCServiceHelperAdapter 구현 객체의 서비스 실패 응답을 전달하기 위한 인터페이스

Prototype

public void onChannelSearchFail(int code,
                               String statusMsg,
                               Object returnParam

Parameters

 Argumenet Name  Data Type  Description
 code  int  http status code
 statusMsg  String  http status message
 returnObject
Object
 비동기 응답 수신처리를 위해 필요한 부가 데이터를 요청 시 전달하고 응답 시 되돌려 받기 위한데이터 Object.

Return

없음

SDK Specification – com.sktelecom.playrtc.util

PlayRTCRange  Class

Pakage : com.sktelecom.playrtc.util.PlayRTCRange

PlayRTC에서 사용하는 min ~ max 값의 범위를 가지는 Range 관련 Class.

create

PlayRTCRange 인스턴스를 생성하여 인터페이스를 반환합니다.

Prototype

static <T extends Comparable<? super T>> PlayRTCRange<T> create(final T min, final T max)

 

Parameters

 Argumenet Name  Data Type  Description
 min

<T extends Comparable<? super T>>

min value
 max

<T extends Comparable<? super T>>

max value

 

Return

PlayRTCRange

 

 


getMinValue

최소값을 반환합니다.

Prototype

public <T extends Comparable<? super T>> getMinValue()

Parameters

없음

Return

<T extends Comparable<? super T>>

getMaxValue

PlayRTCMedia의 영상스트림을 화면에 출력하기 위해 내부에 구현되어있는 Renderer의 인터페이스를 반환합니다.

Prototype

public <T extends Comparable<? super T>> getMaxValue()

Parameters

없음

Return

<T extends Comparable<? super T>>

SDK Specification – com.sktelecom.playrtc.util.ui

PlayRTCVideoView  Class

Pakage : com.sktelecom.playrtc.util.ui.PlayRTCVideoView

PlayRTC의 영상 출력을 위한 Class

 

Constructor

 

public PlayRTCVideoView(Context context)
public PlayRTCVideoView(Context context, AttributeSet sttra)

 

 

 


 

 

getVideoRenderer

PlayRTCMedia의 영상스트림을 화면에 출력하기 위해 내부에 구현되어있는 Renderer의 인터페이스를 반환합니다.

 

Prototype

public PlayRTCVideoRenderer getVideoRenderer()

 

Parameters

없음

Return

PlayRTCVideoRenderer, YUV 영상 스트림을 출력하기 위한 Renderer의 인터페이스를 반환합니다.

 


setVideoFrameObserver

영상스트림의 해상도 변경을 전달 받기 위한 VideoFrameObserver 인터페이스를 등록합니다.

@Deprecated

Prototype

public void setVideoFrameObserver( VideoFrameObserver observer)

Parameters

Argumenet Name Data Type Description
observer VideoFrameObserver 영상스트림의 해상도 변경을 전달 받기 위한 VideoFrameObserver 인터페이스

 

Return

없음


setVideoFrameObserver

영상스트림의 해상도 변경을 전달 받기 위한 VideoRendererObserver 인터페이스를 등록합니다.

Prototype

public void setVideoFrameObserver(VideoRendererObserver observer)

Parameters

Argumenet Name Data Type Description
observer VideoRendererObserver P영상스트림의 해상도 변경을 전달 받기 위한 VideoRendererObserver 인터페이스

 

Return

없음


release

기존에 만들어 놓은 PlayRTCVideoView를 제거하고 다시 생성 시 기존에 생성되어 있는  PlayRTCVideoView의 Renderer 관련 객체를 해제해야 합니다.

Prototype

public void relase()

Parameters

없음

Return

없음

 


 

show

PlayRTCVideoView를 화면에 표시합니다.

 

Prototype

public void show()

 

Parameters

없음

Return

없음

hide

PlayRTCVideoView를 화면에서 숨김.

 

Prototype

public void hide()

 

Parameters

없음

Return

없음

pause

Activity의 onPause 시 호출 합니다.

 

Prototype

public void pause()

 

Parameters

없음

Return

없음

resume

Activity의 onResume 시 호출 합니다.

 

Prototype

public void resume()

 

Parameters

없음

Return

없음

 


setBgClearColor – new 2.2.5

PlayRTCVideoView의 배경색을 지정합니다.

Prototype

void setBgClearColor(int red, int green, int blue, int alpha)

Parameters

 Argumenet Name  Data Type  Description
 red int  red color 0 ~ 255
 green int  green color0 ~ 255
 blue int  blue color0 ~ 255
 alpha int  alpha 0 ~ 255

Return

없음


bgClearColor – new 2.2.5

지정한 배경색으로 화면을 칠합니다.
영상 스트림 출력이 멈추면 화면에는 마지막 잔상이 남습니다.
이때 화면을 초기색으로 채울 경우 사용합니다.

Prototype

void bgClearColor

Parameters

없음

Return
없음


snapshot – new 2.2.6

PlayRTCView의 출력 영상 Bitmap 이미지를 생성합니다.
SnapshotObserver를 메소드 호출 시 전달하여 Bitmap 이미지를 받아야 합니다.

Prototype

void snapshot(SnapshotObserver observer)

Parameters

Argumenet Name Data Type Description
observer SnapshotObserver 이미지를 전달 받기 위한 SnapshotObserver 구현객체

Return
없음


PlayRTCVideoView.VideoFrameObserver Class

Pakage : com.sktelecom.playrtc.util.ui.PlayRTCVideoView

Deprecated 예정

 

Interface

onFrameSize

영상 미디어 스트림의 화면 해상도 정보를 전달하기 위한 인터페이스

public onFrameSize(Point size)

Parameters

 Argumenet Name  Data Type  Description
 size Point  해상도 크기, Ponit.x 는 width, Point.y는 height

 

Return

없음

PlayRTCVideoView.VideoRendererObserver Class

Pakage : com.sktelecom.playrtc.util.ui.PlayRTCVideoView

영상 미디어 스트림의 화면 해상도 정보를 전달하기 위한 인터페이스

Interface

onFrameResolutionChanged

영상 미디어 스트림의 화면 해상도 정보를 전달하기 위한 인터페이스

public onFrameResolutionChanged(PlayRTCVideoView view, int videoWidth, int videoHeight)

Parameters

 Argumenet Name  Data Type  Description
 view PlayRTCVideoView  view
 videoWidth int  영상의 가로 해상도
 height int  영상의 세로 해상도
 rotationDegree int 영상 방향 각도

Return

없음

PlayRTCVideoView.SnapshotObserver Class

Pakage : com.sktelecom.playrtc.util.ui.PlayRTCVideoView

Interface

onSnapshotImage

PlayRTCView의 출력 영상 Bitmap 이미지를 전달하기 위한 인터페이스

public void onSnapshotImage(Bitmap image)

Parameters

 Argumenet Name  Data Type  Description
 image Bitmap  Bitmap Image, 이미지 크기는 View와 동일한 크기

Return

없음

 

SDK Specification – com.sktelecom.playrtc.util.android

 

PlayRTCAudioManager Class

Pakage : com.sktelecom.playrtc.util.ui.android.PlayRTCAudioManager

소리출력 Path를 관리하도록 구현한 Helper Class. 내부적으로 AudioManager와 그접센서를 이용하여 소리 출력 제어합니다.

enum AudioDevice

소리 출력 장치 정의 정의

Name Description
WIRED_HEADSET Wired head-phone
SPEAKER_PHONE Speaker
EARPIECE Ear-Speaker
BLUETOOTH BLUETOOTH, v2.2.1 부터 지원

 

Constructor

static public PlayRTCAudioManager create(Context context, Runnable runnable)
  • context : Android Context
  • runnable : Runnable, 소리 출력 Path가 변경되면 알림을 받을 Runnable 객체. 객체가 호출되면 getSelectedAudioDevice를 호출하여 장치 종류를 확인하고, PlayRTC의 notificationAudioType를 호출하여 장치 종류를 알려주어야 합니다.

 

사용 예

private PlayRTCAudioManager audioManager = null;

private PlayRTC playrtc = null;
protected void onCreate() {
....

  audioManager = PLayRTCAudioManager.create((Context)this, new Runnable() {
    @override
    public void run() {
      AudioDevice device = audioManager.getSelectedAudioDevice();
      if(playrtc != null) {
          if(device == AudioDevice.WIRED_HEADSET) {
               playrtc.notificationAudioType(PlayRTCAudioType.AudioReceiver);
          }
          else if(device == AudioDevice.SPEAK_PHONE) {
               playrtc.notificationAudioType(PlayRTCAudioType.AudioSpeaker);
          }
          else if(ddvice == AudioDevice.EARPIECE) {
               playrtc.notificationAudioType(PlayRTCAUdioDevice.AudioEarphone);

          }
      }

    }

  }

  audioManager.init();
}

protected void onDestroy() {
  if(audioManager != null) {
    audioManager.close();
  }


}

 

 

 

 


 

init

PlayRTCAudioManager를 초기화 합니다.

 

Prototype

public void init()

 

Parameters

없음

 

Return

없음

close

PlayRTCAudioManager를 종료합니다.

 

Prototype

public void close()

 

Parameters

없음

Return

없음

 

getSelectedAudioDevice

현재 설정되어 있는 Audio 장치를 반환합니다.

 

Prototype

public AudioDevice getSelectedAudioDevice()

 

Parameters

없음

Return

 
AudioDevice,  소리 출력 장치 정의, enum AudioDevice 참고 


 

Play RTC

서비스 체험

Play RTC build PlaygrOund

나만의 플레이그라운드를 만들어 친구를 초대해보세요 !

www.playrtc.com/

번거로운 가입이나 설치 없이ID만 만들어서 영상통화나 파일 공유, 채팅 서비스를 무료로 즐겨보세요.

 

Play RTC

서비스 체험

개설한 Playground 주소를 복하해서 친구에게 보내조세요. 친구가 Playground에 접속하면 이곳에 친구의 영상과 음성이 나타납니다. Waiting..

Photo

X
이미지 미리보기
이미지
 

서비스 체험

 

서비스 체험

서비스 체험은 크롬과 파이어폭스 브라우저에 최적화되어 있습니다.
크롬 또는 파이어폭스 브라우저를 설치 후 다시 이용해주세요.