UNPKG

@tencentcloud/call-uikit-vue2

Version:

An Open-source Voice & Video Calling UI Component Based on Tencent Cloud Service.

52 lines (45 loc) 1.42 kB
// @ts-ignore import { aiAssistant } from '../../Components/components/common/AIAssistant/index'; import { getRemoteUserProfile } from './utils'; interface IAIAssistant { enableAISubtitle: (enable: boolean) => void; setEngineInstance: (engineInstance: any) => void; setImInstance: (imInstance: any) => void; }; export class AIAssistant implements IAIAssistant { static instance: IAIAssistant; private _tuiCallEngine: any = null; private _imInstance: any = null; static getInstance() { if (!AIAssistant.instance) { AIAssistant.instance = new AIAssistant(); } return AIAssistant.instance; } public enableAISubtitle(enable: boolean): void { this._tuiCallEngine?.reportLog?.({ name: 'TUICallKit.enableAISubtitle.start', data: { enable }, }); const trtcCloudInstance = this._tuiCallEngine.getTRTCCloudInstance(); const getNickName = async(userId: string) => { const res = await getRemoteUserProfile([userId], this._imInstance); return res.length ? res[0] : []; } if (enable) { aiAssistant.initASR({ trtcCloudInstance, // @ts-ignore getNickName, }); } else { aiAssistant.destroyASR(); } } public setEngineInstance(engineInstance: any): void { this._tuiCallEngine = engineInstance; } public setImInstance(imInstance: any): void { this._imInstance = imInstance; } }