RemonClient

@objc(RemonClient)
@IBDesignable
public class RemonClient : NSObject

통화(RemonCall), 방송(RemonCast) 공통 클래스

  • 갭처러 객체

    Declaration

    Swift

    @objc
    public var localCapturer: RTCVideoCapturer? { get }
  • 연결이 완료 된 후 로컬 비디오 캡쳐를 자동으로 시작 할 지 여부

    Declaration

    Swift

    @objc
    public var autoCaptureStart: Bool { get set }
  • debug mode. default is false

    Declaration

    Swift

    @objc
    public var debugMode: Bool { get set }
  • 외부 캡처러 사용 여부 설정

    Declaration

    Swift

    @objc
    public var useExternalCapturer: Bool { get set }
  • ICE Server 목록

    Declaration

    Swift

    @objc
    public var iceServers: [RTCIceServer] { get set }
  • Selective Candidate

    Declaration

    Swift

    @objc
    public var selectiveCandidate: RemonConfig.SelectiveCandidate { get set }
  • video codec H264 | VP8. default is H264

    Declaration

    Swift

    @IBInspectable
    @objc
    public var videoCodec: String { get set }
  • 오디오 전용 여부 선택

    Declaration

    Swift

    @IBInspectable
    @objc
    public var onlyAudio: Bool { get set }
  • 비디오 가로 크기

    Declaration

    Swift

    @IBInspectable
    @objc
    public var videoWidth: Int { get set }
  • 비디오 세로 크기

    Declaration

    Swift

    @IBInspectable
    @objc
    public var videoHeight: Int { get set }
  • fps

    초당 프레임 수

    Declaration

    Swift

    @IBInspectable
    @objc
    public var fps: Int { get set }
  • 서비스 아이디

    Declaration

    Swift

    @IBInspectable
    @objc
    public var serviceId: String { get set }
  • 서비스키

    Declaration

    Swift

    @IBInspectable
    @objc
    public var serviceKey: String { get set }
  • 서비스 토큰

    Declaration

    Swift

    @IBInspectable
    @objc
    public var serviceToken: String { get set }
  • rest api 주소

    Declaration

    Swift

    @IBInspectable
    @objc
    public var restUrl: String { get set }
  • 웹소켓 주소

    Declaration

    Swift

    @IBInspectable
    @objc
    public var wsUrl: String { get set }
  • log 서버 주소

    Declaration

    Swift

    @IBInspectable
    @objc
    public var logUrl: String { get set }
  • 전면 카메라 시작

    Declaration

    Swift

    @IBInspectable
    @objc
    public var frontCamera: Bool { get set }
  • 카메라 화면 미러모드 동작여부, 화면만 미러로 동작하며, 실제 데이터는 정상 전송

    Declaration

    Swift

    @IBInspectable
    @objc
    public var mirrorMode: Bool { get set }
  • 최종 output 프레임 고정여부. true 인 경우 연결시의 방향으로 출력 사이즈가 고정됩니다. false 인 경우 앱이 지원하는 방향으로 회전이 이루어집니다. 단, 앱이 하나의 방향만을 지원하는 경우 회전이 발생하지 않습니다.

    Declaration

    Swift

    @IBInspectable
    @objc
    public var fixedCameraRotation: Bool { get set }
  • 시뮬레이터에서 사용할 동영상 파일명

    Declaration

    Swift

    @IBInspectable
    @objc
    public var videoFilePathForSimulator: String? { get set }
  • 현재 오디오 레벨 정보를 얻어옵니다. 지원버전 : 2.7.10+ 방송송출, p2p 연결시는 로컬 입력레벨이고, 방송수신자, 컨퍼런스 참여자는 리모트의 출력레벨입니다.

    Declaration

    Swift

    @objc
    public var currentAudioLevel: Int { get }
  • 외부 캡처러 사용시 프레임 데이터를 전달할 객체

    Declaration

    Swift

    @available(*, deprecated, message: "use localCapturer")
    public var localSampleCapturer: RemonSampleCapturer?
  • Declaration

    Swift

    @objc
    public func getCurrentRemonState() -> Int
  • 현재 상태를 문자열로 얻어옵니다.

    Declaration

    Swift

    @objc
    public func getCurruntStateString() -> String
  • webrtc 연결 종료

    Declaration

    Swift

    @objc
    public func closeRemon()
  • 대역폭 전환

    Declaration

    Swift

    public func switchSimulcastLayer(bandwidth: RemonBandwidth)
  • 원격지 사운드 켜거나 끄기

    Declaration

    Swift

    @objc
    public func setRemoteAudioEnabled(isEnabled: Bool = true)
  • 로컬 사운드 켜거나 끄기

    Declaration

    Swift

    @objc
    public func setLocalAudioEnabled(isEnabled: Bool = true)
  • 로컬 비디오 켜거나 끄기

    Declaration

    Swift

    @objc
    public func setLocalVideoEnabled(isEnabled: Bool = true)
  • 원격지 비디오 켜거나 끄기

    Declaration

    Swift

    @objc
    public func setRemoteVideoEnabled(isEnabled: Bool = true)
  • 로컬 비디오(카메라) 시작 로컬 비디오를 사용하는 모든 연결에 영향이 있으므로, 특정 연결된 세션의 비디오를 켜거나 끄는 경우 setLocalVideoEnabled( isEnabled: true ) 메쏘드 사용.

    Declaration

    Swift

    @discardableResult
    @objc
    public func startLocalVideoCapture(completion: @escaping () -> Void) -> Bool
  • 로컬 비디오(카메라) 중지

    Declaration

    Swift

    @discardableResult
    @objc
    public func stopLocalVideoCapture() -> Bool
  • 채널이 연결된 상태에서 상대편에게 메시지를 전달한다.

    Declaration

    Swift

    @objc
    public func sendMessage(message: String)
  • 카메라 전환 현재 카메라의 미러모드를 전환하거나, 전후면 카메라를 전환한다 -Parameters: +isMirror: 미러모드 적용 여부 +isToggle: 카메라 전면,후면 전환 여부

    -Return:변경된 카메라가 전면이면 true, 후면이면 false

    Declaration

    Swift

    @discardableResult
    @objc
    public func switchCamera(isMirror: Bool = false, isToggle: Bool = true) -> Bool
  • 볼륨설정

    Declaration

    Swift

    @objc
    public func setVolume(volume: Float)
  • 채널 목록 요청

    Declaration

    Swift

    public func fetchChannel(
        type:RemonSearchType,
        roomName:String?,
        complete: @escaping (_ error:RemonError?, _ results:Array<RemonSearchResult>?)->Void)
  • 초기화 콜백

    Declaration

    Swift

    @objc
    public func onInit(block: @escaping RemonVoidBlock)
  • Peer간 접속 완료 콜백. webrtc 접속이 완료된 이후에 호출

    Declaration

    Swift

    @objc
    public func onComplete(block: @escaping RemonVoidBlock)
  • 연결 종료 콜백

    Declaration

    Swift

    @objc
    public func onClose(block: @escaping RemonCloseBlock)
  • 메시지 수신 콜백

    Declaration

    Swift

    @objc
    public func onMessage(block: @escaping RemonStringBlock)
  • 에러 콜백

    Declaration

    Swift

    public func onError(block: @escaping RemonErrorBlock)
  • stat 콜백

    Declaration

    Swift

    @objc
    public func onStat(block: @escaping (RemonStatReport) -> Void)
  • 원격측 비디오 사이즈 변경시 호출

    Declaration

    Swift

    @objc
    public func onRemoteVideoSizeChanged(block: @escaping (UIView?, CGSize) -> Void)
  • 로컬 비디오 사이즈 변경시 호출

    Declaration

    Swift

    @objc
    public func onLocalVideoSizeChanged(block: @escaping (UIView?, CGSize) -> Void)
  • 화상회의 이벤트 콜백

    Declaration

    Swift

    @objc
    public func onRoomEvent(block: @escaping (String, String) -> Void)
  • 채널 이벤트 콜백

    Declaration

    Swift

    public func onChannelEvent(block: @escaping (String, String) -> Void)
  • sdk 의 기본 오디오 설정

    • category: AVAudioSession.Category
    • mode: AVAudioSession.Mode
    • options: AVAudioSession.CategoryOptions

    Declaration

    Swift

    @objc
    public static func setAudioSessionConfiguration(
        category: AVAudioSession.Category,
        mode: AVAudioSession.Mode,
        options:AVAudioSession.CategoryOptions )
  • 여러 피어를 동시에 사용할 경우 특정 피어 종료시 오디오세션 정보가 초기화 됩니다. 여러 피어를 사용하는 환경에서는 setAudioSessionConfiguration() 으로 기본적인 오디오 세션을 설정하고, 각 피어의 연결과 해제시에 setAudioSessionWithCurrentCategory() 를 호출해주어야 기존 설정이 유지됩니다.

    Declaration

    Swift

    @objc
    public static func setAudioSessionWithCurrentCategory()