tencent cloud

フィードバック

TUICallEngine

最終更新日:2024-07-19 14:53:21

    TUICallEngine APIの概要

    TUICallEngine APIはオーディオビデオ通話コンポーネントのUIインターフェースがないものです。

    API概要

    API
    説明
    TUICallEngineのインスタンス(シングルトンモード)を作成します
    TUICallEngineのインスタンス(シングルトンモード)を破棄します
    on
    イベントの監視
    off
    イベントの監視をキャンセルします
    login
    インターフェースにログインします
    logout
    インターフェースからログアウトします
    ユーザーニックネームおよびプロフィール画像を設定します
    call
    C2C通話に招待します
    groupCall
    グループチャット通話に招待します
    accept
    通話に応答します
    reject
    通話を拒否します
    hangup
    通話を終了します
    グループ通話で、他の人を招待します
    現在のグループ通話に自主的に参加します
    現在の通話タイプを切り替えます
    リモート画面のレンダリングを起動します
    リモート画面のレンダリングを停止します
    ローカル画面のレンダリングを起動します
    ローカル画面のレンダリングを停止します
    カメラをオンにします
    カメラをオフにします
    マイクをオンにします
    マイクをオフにします
    ビデオ画質を設定します
    デバイスリストを取得します
    カメラまたはマイクデバイスを切り替えます
    AIノイズリダクションのオン/オフ

    APIの詳細

    createInstance

    TUICallEngineのシングルトンを作成します。
    const tuiCallEngine = TUICallEngine.createInstance({
    SDKAppID: 0, // アクセス時に、0をIMアプリケーションのSDKAppIDに置き換える必要があります
    tim: tim // timパラメータはサービス内にすでに存在するTIMインスタンスに使用され、TIMインスタンスの一意性を保証します
    });
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    SDKAppID
    Number
    Instant MessagingアプリケーションのSDKAppID
    tim
    Any
    TIMインスタンス(オプション)

    destroyInstance

    TUICallEngineのシングルトンを破棄します。
    tuiCallEngine.destroyInstance().then(() => {
    //success
    }).catch(error => {
    console.warn('destroyInstance error:', error);
    });

    on

    イベントを監視します。
    let onError = function(error) {
    console.log(error);
    };
    tuiCallEngine.on(TUICallEvent.ERROR, onError, this);
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    eventName
    String
    イベント名
    callback
    function
    イベントレスポンスコールバック
    context
    Any
    callback実行希望時のコンテキスト

    off

    イベントの監視をキャンセルします。
    let onError = function(error) {
    console.log(error);
    };
    tuiCallEngine.off(TUICallEvent.ERROR, onError, this);
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    eventName
    String
    イベント名
    callback
    function
    イベントレスポンスコールバック
    context
    Any
    callback実行希望時のコンテキスト

    login

    インターフェースにログインします。
    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
    AIノイズリダクションの依存関係denoiser-wasm.js ファイルがデプロイされるCDNまたは静的リソースサーバーへのパス。詳細については、AIノイズリダクションの使用をご参照ください。

    logout

    インターフェースからログアウトします。
    let promise = tuiCallEngine.logout();
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('logout error:', error);
    });

    setSelfInfo

    ユーザーニックネームおよびプロフィール画像を設定します。
    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
    プロフィール画像アドレス

    call

    C2Cの通話に招待します。被招待者はTUICallEvent.INVITEDイベントを受信します。
    ご注意:
    オフラインプッシュは端末(AndroidまたはiOS)にのみ適用され、WebおよびWeChat Mini Programではサポートされません。
    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

    IMグループの通話に招待します。被招待者はEVENT.INVITEDイベントを受信します。
    ご注意:
    オフラインプッシュは端末(AndroidまたはiOS)にのみ適用され、WebおよびWeChat Mini Programではサポートされません。
    let promise = tuiCallEngine.groupCall({
    userIDList: ['user1', 'user2'],
    type: 1,
    groupID: 'IMグループID',
    });
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('groupCall error:', error);
    });
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    userIDList
    Array
    招待リスト
    type
    Number
    0-不明、1-音声通話、2-ビデオ通話
    groupID
    String
    IMグループ
    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

    被招待者としてTUICallEvent.INVITEDイベントのコールバックを受信した場合は、このインターフェースを呼び出して通話に応答することができます。
    tuiCallEngine.on(TUICallEvent.INVITED, () => {
    tuiCallEngine.accept().promise.then(() => {
    //success
    }).catch(error => {
    console.warn('accept error:', error);
    });
    });

    reject

    現在の通話を拒否します。着呼側としてTUICallEvent.INVITED のコールバックを受信した場合は、この関数を呼び出して通話を拒否することができます。
    tuiCallEngine.on(TUICallEvent.INVITED, () => {
    tuiCallEngine.reject().then(() => {
    //success
    }).catch(error => {
    console.warn('reject error:', error);
    });
    });

    hangup

    現在の通話を終了します。通話中である場合は、この関数を呼び出して通話を終了できます。
    通話中にこのインターフェースを呼び出せば、通話を終了することができます
    ダイヤルしていない状態では、通話をキャンセルするために用いることができます
    tuiCallEngine.hangup().then(() => {
    //success
    }).catch(error => {
    console.warn('hangup error:', error);
    });

    inviteUser

    今回のグループ通話にユーザーを招待します。
    ユースケース:グループ通話中のユーザーが自主的に他の人を招待する場合に使用します。
    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

    今回のグループ通話に自主的に参加します。
    ユースケース:グループ内のユーザーが今回のグループ通話に自主的に参加する場合に使用します。
    const params = {
    roomID: 123,
    type: 1,
    groupID: 111
    };
    tuiCallEngine.joinInGroupCall(params).then(() => {
    // success
    }).catch(error => {
    console.error('joinInGroupCall error:', error);
    });
    パラメータは下表に示すとおりです。
    パラメータ
    タイプ
    意味
    roomID
    Number
    今回の通話のオーディオビデオルームID。現在は数字のルームナンバーのみサポートしています。文字列のルームナンバーは今後のバージョンでサポート予定です
    groupID
    String
    このグループ通話のグループID
    type
    Number
    通話のメディアタイプ。例:1-音声通話、2-ビデオ通話

    switchCallMediaType

    現在の通話タイプを切り替えます。
    1v1通話中のみ使用をサポートします
    ERRORイベントの監視に失敗しました。code:60001
    // 1は音声通話、2はビデオ通話を意味します
    tuiCallEngine.switchCallMediaType(2).then(() => {
    //success
    }).catch(error => {
    console.warn('switchCallMediaType error:', error);
    });
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    newMediaType
    Number
    1-音声通話、2-ビデオ通話

    startRemoteView

    リモート画面レンダリングを起動します。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

    リモート画面のレンダリングを停止します
    tuiCallEngine.stopRemoteView({userID: 'user1'});
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    userID
    String
    ユーザーid

    startLocalView

    ローカル画面のレンダリングを起動します
    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

    ローカル画面のレンダリングを停止します
    let promise = tuiCallEngine.stopLocalView({userID: 'user1'});
    promise.then(() => {
    //success
    }).catch(error => {
    console.warn('stopLocalView error:', error)
    });
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    userID
    String
    ユーザーID

    openCamera

    カメラをオンにします。
    tuiCallEngine.openCamera().then(() => {
    //success
    }).catch(error => {
    console.warn('openCamera error:', error);
    });

    closeCamara

    カメラをオフにします
    tuiCallEngine.closeCamera().then(() => {
    //success
    }).catch(error => {
    console.warn('closeCamara error:', error);
    });

    openMicrophone

    マイクをオンにします。
    tuiCallEngine.openMicrophone().then(() => {
    //success
    }).catch(error => {
    console.warn('openMicrophone error:', error);
    });

    closeMicrophone

    マイクをオフにします。
    tuiCallEngine.closeMicrophone().then(() => {
    //success
    }).catch(error => {
    console.warn('closeMicrophone error:', error);
    });

    setVideoQuality

    ビデオ画質を設定します。
    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

    デバイスリストを取得します。
    tuiCallEngine.getDeviceList("camera").then((devices) => {
    console.log(devices);
    }).catch(error => {
    console.warn('getDeviceList error:', error);
    });
    パラメータは下表に示すとおりです
    パラメータ
    タイプ
    意味
    deviceType
    String
    'camera'-カメラ、'microphones'-マイク

    switchDevice

    カメラまたはマイクデバイスを切り替えます。
    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()で取得します
    マイクデバイスの識別子は、getMicrophones()で取得します

    enableAIVoice

    AIノイズリダクションのオン/オフ。
    ご注意:
    バージョン4.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時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)