tencent cloud

피드백

TUICallEngine

마지막 업데이트 시간:2024-07-23 17:41:08

    TUICallEngine API

    TUICallEngine은 UI 요소를 포함하지 않는 음성/영상 통화 컴포넌트입니다.

    API 개요

    API
    설명
    TUICallEngine 인스턴스 생성(싱글톤 모드)
    TUICallEngine 인스턴스 종료(싱글톤 모드)
    on
    이벤트 수신
    off
    이벤트 수신 중지
    login
    로그인
    logout
    로그아웃
    대화명 및 프로필 사진 설정
    call
    C2C 통화 하기
    groupCall
    그룹 통화하기
    accept
    통화 수락
    reject
    통화 거절
    hangup
    통화 종료
    현재 그룹 통화에 사용자를 초대
    현재 그룹 통화에 참여
    통화 유형 변경
    원격 비디오 렌더링 시작
    원격 비디오 렌더링 중지
    로컬 비디오 렌더링 시작
    로컬 비디오 렌더링 중지
    카메라 켜기
    카메라 끄기
    마이크 켜기
    마이크 끄기
    비디오 품질 설정
    장치 목록 가져오기
    다른 카메라/마이크로 변경
    AI 노이즈 캔슬링 활성화/비활성화

    API 세부 사항

    createInstance

    이 API는 TUICallEngine 싱글톤을 생성하는 데 사용됩니다.
    const tuiCallEngine = TUICallEngine.createInstance({
    SDKAppID: 0, // 0을 IM 애플리케이션의 SDKAppID로 대체
    tim: tim // 이미 TIM 인스턴스가 있는 경우 이 tim 매개변수를 사용하여 TIM 인스턴스의 고유성 보장
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    SDKAppID
    Number
    IM 애플리케이션의 SDKAppID
    tim
    Any
    TIM 인스턴스(선택 사항)

    destroyInstance

    이 API는 TUICallEngine 싱글톤을 종료하는 데 사용됩니다.
    tuiCallEngine.destroyInstance().then(() => {
    //success
    }).catch(error => {
    console.warn('destroyInstance error:', error);
    });

    on

    이 API는 이벤트를 수신하는 데 사용됩니다.
    let onError = function(error) {
    console.log(error);
    };
    tuiCallEngine.on(TUICallEvent.ERROR, onError, this);
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    eventName
    String
    이벤트 이름
    callback
    function
    이벤트 콜백
    context
    Any
    컨텍스트

    off

    이 API는 이벤트 수신을 중지하는 데 사용됩니다.
    let onError = function(error) {
    console.log(error);
    };
    tuiCallEngine.off(TUICallEvent.ERROR, onError, this);
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    eventName
    String
    이벤트 이름
    callback
    function
    이벤트 콜백
    context
    Any
    컨텍스트

    login

    이 API는 로그인에 사용됩니다.
    const params = {
    userID: 'john', // your userID
    userSig: 'xxxx', // 'your userSig'
    assetsPath: 'https://xx/'
    };
    let promise = tuiCallEngine.login(params);
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('login error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userID
    String
    현재 사용자 ID이며, 문자열 유형은 영어 알파벳(a-z, A-Z), 숫자(0-9), 대시부호(-), 언더바(_)만 허용됩니다
    userSig
    String
    Tencent Cloud의 독점 보안 서명. 자세한 내용은 UserSig 계산 방법을 참고하십시오.
    assetsPath
    String
    denoiser-wasm.js 파일이 배포된 CDN 또는 정적 리소스 서버의 경로 이 파일은 AI 노이즈 캔슬링에 필요합니다. 자세한 내용은 튜토리얼: AI 노이즈 캔슬링 활성화를 참고하십시오.

    logout

    이 API는 로그아웃하는 데 사용됩니다.
    let promise = tuiCallEngine.logout();
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('logout error:', error);
    });

    setSelfInfo

    이 API는 대화명 및 프로필 사진을 설정하는 데 사용됩니다.
    let promise = tuiCallEngine.setSelfInfo({
    nickName: 'video',
    avatar:'http(s)://url/to/image.jpg'
    });
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('setSelfInfo error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    nickName
    String
    대화명
    avatar
    String
    프로필 사진 URL

    call

    이 API는 C2C 통화를 수행하는 데 사용됩니다. 초대받은 사람은 TUICallEvent.INVITED 콜백을 수신합니다.
    주의사항:
    Android 및 iOS에서 오프라인 알림이 지원됩니다. Web 및 WeChat 미니프로그램에서는 지원되지 않습니다.
    let promise = tuiCallEngine.call({
    userID: 'user1',
    type: 1,
    });
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('call error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userID
    String
    초대받은 사람의 userID
    type
    Number
    통화 유형. 0-알 수 없음, 1-음성 통화, 2-영상 통화

    groupCall

    이 API는 그룹 통화를 하는 데 사용됩니다. 초대받은 사람은 'EVENT.INVITED' 콜백을 받게 됩니다.
    주의사항:
    Android 및 iOS에서 오프라인 알림이 지원됩니다. Web 및 WeChat 미니프로그램에서는 지원되지 않습니다.
    let promise = tuiCallEngine.groupCall({
    userIDList: ['user1', 'user2'],
    type: 1,
    groupID: 'IM 그룹 ID',
    });
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('groupCall error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userIDList
    Array
    호출할 사용자의 ID
    type
    Number
    0-알 수 없음, 1-음성 통화, 2-영상 통화
    groupID
    String
    IM 그룹 ID
    timeout
    String
    제한 시간(선택 사항)
    roomID
    String
    방 ID(선택 사항)
    offlinePushInfo
    Object
    사용자 지정 오프라인 알림(이 매개변수는 선택 사항이며 tsignaling 0.8.0 이상에서만 유효)

    offlinePushInfo

    매개변수
    유형
    설명
    title
    string
    오프라인 알림 제목(선택 사항)
    description
    string
    오프라인 알림 내용(선택 사항)
    androidOPPOChannelID
    string
    OPPO 8.0 이상에서 오프라인 알림을 위한 채널 ID(선택 사항)
    extension
    string
    통과 콘텐츠(이 매개변수는 선택 사항이며 tsignaling 0.9.0 이상에서만 유효)

    accept

    이 API는 TUICallEvent.INVITED 콜백을 수신한 후 통화를 수락하는 데 사용됩니다.
    tuiCallEngine.on(TUICallEvent.INVITED, () => {
    tuiCallEngine.accept().promise.then(() => {
    //success
    }).catch(error => {
    console.warn('accept error:', error);
    });
    });

    reject

    이 API는 TUICallEvent.INVITED 콜백을 수신한 후 통화를 거부하는 데 사용됩니다.
    tuiCallEngine.on(TUICallEvent.INVITED, () => {
    tuiCallEngine.reject().then(() => {
    //success
    }).catch(error => {
    console.warn('reject error:', error);
    });
    });

    hangup

    이 API는 통화를 종료하는 데 사용됩니다.
    통화 중인 경우 이 API로 통화를 종료할 수 있습니다.
    통화가 아직 응답이 없는 경우, 이 API는 통화를 취소합니다
    tuiCallEngine.hangup().then(() => {
    //success
    }).catch(error => {
    console.warn('hangup error:', error);
    });

    inviteUser

    이 API는 현재 그룹 통화에 사용자를 초대하는 데 사용됩니다.
    이 API는 그룹 통화의 참가자가 새 사용자를 초대하기 위해 호출합니다.
    const userIDList = ['jack', 'john'];
    const params = {
    userIDList
    };
    tuiCallEngine.inviteUser(params).then(() => {
    // success
    }).catch(error => {
    console.error('inviteUser error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userIDList
    Array
    초청자의 userID
    Object
    사용자 지정 오프라인 알림(선택 사항). 이 매개변수는 tsignaling 버전이 0.8.0 이상인 경우에만 유효합니다.

    offlinePushInfo

    매개변수
    유형
    설명
    title
    string
    오프라인 알림 제목(선택 사항)
    description
    string
    오프라인 알림 내용(선택 사항)
    androidOPPOChannelID
    string
    OPPO 8.0 이상에서 오프라인 알림을 위한 채널 ID(선택 사항)
    extension
    string
    통과 콘텐츠(이 매개변수는 선택 사항이며 tsignaling 0.9.0 이상에서만 유효)

    joinInGroupCall

    이 API는 그룹 통화에 참여하는 데 사용됩니다.
    이 API는 그룹 구성원이 그룹 통화에 참여하기 위해 호출합니다.
    const params = {
    roomID: 123,
    type: 1,
    groupID: 111
    };
    tuiCallEngine.joinInGroupCall(params).then(() => {
    // success
    }).catch(error => {
    console.error('joinInGroupCall error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    roomID
    Number
    방 ID. 현재는 숫자로 된 방 ID만 사용할 수 있으며, 문자열 형식의 방 ID는 향후 지원될 예정입니다
    groupID
    String
    그룹 ID
    type
    Number
    통화 유형. 1 - 음성 통화, 2 - 영상 통화

    switchCallMediaType

    통화 유형을 변경합니다.
    이 API는 1v1 통화에만 작동합니다.
    ERROR 콜백 전환 실패. code: 60001
    // 1 음성 통화; 2 영상 통화
    tuiCallEngine.switchCallMediaType(2).then(() => {
    //success
    }).catch(error => {
    console.warn('switchCallMediaType error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    newMediaType
    Number
    1-음성 통화, 2-영상 통화

    startRemoteView

    이 API는 원격 비디오 렌더링을 시작하는 데 사용됩니다. USER_VIDEO_AVAILABLE 이벤트를 수신한 후 해당 원격 비디오 렌더링을 시작합니다.
    let promise = tuiCallEngine.startRemoteView({
    userID: 'user1',
    videoViewDomID: 'video_1',
    });
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('startRemoteView error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userID
    String
    사용자 ID
    videoViewDomID
    String
    사용자의 데이터는 이 dom id 노드에서 렌더링됩니다

    stopRemoteView

    이 API는 원격 비디오 렌더링을 중지하는 데 사용됩니다
    tuiCallEngine.stopRemoteView({userID: 'user1'});
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userID
    String
    사용자 id

    startLocalView

    이 API는 로컬 비디오 렌더링을 시작하는 데 사용됩니다
    let promise = tuiCallEngine.startLocalView({
    userID: 'user1',
    videoViewDomID: 'video_1'
    });
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('startLocalView error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userID
    String
    사용자 ID
    videoViewDomID
    String
    사용자의 데이터는 이 dom id 노드에서 렌더링됩니다

    stopLocalView

    이 API는 로컬 비디오 렌더링을 중지하는 데 사용됩니다
    let promise = tuiCallEngine.stopLocalView({userID: 'user1'});
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('stopLocalView error:', error)
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    userID
    String
    사용자 ID

    openCamera

    이 API는 카메라를 켜는 데 사용됩니다.
    tuiCallEngine.openCamera().then(() => {
    //success
    }).catch(error => {
    console.warn('openCamera error:', error);
    });

    closeCamara

    이 API는 카메라를 끄는 데 사용됩니다
    tuiCallEngine.closeCamera().then(() => {
    //success
    }).catch(error => {
    console.warn('closeCamara error:', error);
    });

    openMicrophone

    이 API는 마이크를 켜는 데 사용됩니다.
    tuiCallEngine.openMicrophone().then(() => {
    //success
    }).catch(error => {
    console.warn('openMicrophone error:', error);
    });

    closeMicrophone

    이 API는 마이크를 끄는 데 사용됩니다.
    tuiCallEngine.closeMicrophone().then(() => {
    //success
    }).catch(error => {
    console.warn('closeMicrophone error:', error);
    });

    setVideoQuality

    이 API는 비디오 품질을 설정하는 데 사용됩니다.
    const profile = '720p';
    tuiCallEngine.setVideoQuality(profile).then(() => {
    //success
    }).catch(error => {
    console.warn('setVideoQuality error:', error)
    }); // 비디오 품질을 720p로 설정
    매개변수는 다음과 같습니다:
    비디오 Profile
    해상도(너비 x 높이)
    480p
    640 × 480
    720p
    1280 × 720
    1080p
    1920 × 1080

    getDeviceList

    이 API는 장치 목록을 가져오는 데 사용됩니다.
    tuiCallEngine.getDeviceList("camera").then((devices) => {
    console.log(devices);
    }).catch(error => {
    console.warn('getDeviceList error:', error);
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    deviceType
    String
    장치 유형. 유효한 값: ‘camera’-카메라, ‘microphones’-마이크

    switchDevice

    이 API는 다른 카메라나 마이크로 변경하는 데 사용됩니다.
    let promsie = tuiCallEngine.switchDevice({
    deviceType: 'video',
    deviceId: cameras[0].deviceId
    });
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('switchDevice error:', error)
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    deviceType
    String
    변경할 장치의 유형
    ‘video’ 카메라
    ‘audio’ 마이크
    deviceId
    String
    변경할 장치의 ID
    getCameras()를 사용하여 카메라 ID 가져오기
    getMicrophones()를 사용하여 마이크 ID 가져오기

    enableAIVoice

    AI 노이즈 캔슬링을 활성화/비활성화합니다.
    주의사항:
    AI 노이즈 캔슬링은 v4.12.1 이상에서 지원됩니다. 자세한 내용은 튜토리얼: AI 노이즈 캔슬링 활성화를 참고하십시오.
    let promsie = tuiCallEngine.enableAIVoice(true);
    promise.then(() => {
    // success
    }).catch(error => {
    console.warn('enableAIVoice error:', error)
    });
    매개변수는 다음과 같습니다:
    매개변수
    유형
    설명
    enable
    Boolean
    AI 노이즈 캔슬링 활성화 또는 비활성화 여부입니다. enable=true(기본값)는 AI 노이즈 캔슬링이 활성화됨 표시
    문의하기

    고객의 업무에 전용 서비스를 제공해드립니다.

    기술 지원

    더 많은 도움이 필요하시면, 티켓을 통해 연락 바랍니다. 티켓 서비스는 연중무휴 24시간 제공됩니다.

    연중무휴 24시간 전화 지원