TUICallEngine

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ノイズリダクションはオンになっています