全部產品
Search
文件中心

Intelligent Media Services:API介面詳情

更新時間:Aug 13, 2025

通過閱讀本文,您可以瞭解Web SDK介面詳情。

API概覽

說明

舊版本SDK中存在棄用參數、方法,建議您將SDK升級到最新版本,請參見Web使用指南

類/協議

API

說明

ARTCAICallEngine

引擎介面定義

call

開始通話

handup

掛斷

說明

建議您在頁面退出前(例如監聽beforeunload事件)主動調用handup掛斷通話,否則Agent需要等待約90秒才會退出,可能會導致數字人並發超限等問題。

setAgentView

設定智能體渲染視圖

setLocalView

設定本地預覽視圖

interruptSpeaking

打斷智能體講話

enableVoiceInterrupt

開啟/關閉智能打斷

muteLocalCamera

開關網路攝影機推送

switchCamera

切換網路攝影機

switchVoiceId

切換音色

mute

靜音/取消禁音麥克風

muteAgentAudioPlaying

停止/恢複智能體音頻流的播放

startPushToTalk

對講機模式下,開始講話

finishPushToTalk

對講機模式下,結束講話

cancelPushToTalk

對講機模式下,取消這次講話

enablePushToTalk

開啟/關閉對講機模式,對講機模式下,只有在finishPushToTalk被調用後,智能體才會播報結果

getRTCInstance

擷取RTC引擎

sendTextToAgent

給智能體發送簡訊

sendCustomMessageToServer

給Server發送自訂訊息

updateLlmSystemPrompt

更新llm的系統提示詞

updateVcrConfig

更新VCR配置

updateBailianAppParams

更新百鍊應用中心參數

startVisionCustomCapture

Vision智能體,開始啟動自訂截幀,啟動後,無法通過語音與智能體通話

stopVisionCustomCapture

Vision智能體,結束自訂截幀

destroy

釋放資源

ARTCAICallEngine

引擎回調事件

errorOccurred

發生了錯誤

callBegin

通話開始

callEnd

通話結束

agentStateChange

智能體狀態改變

speakingVolumeChanged

音量變化

userSubtitleNotify

使用者提問被智能體識別結果的通知

agentSubtitleNotify

智能體回答結果通知

voiceIdChanged

當前通話的音色發生了改變

pushToTalkChanged

對講機模式發生變化

agentWillLeave

當前智能體即將離開(結束當前通話)

receivedAgentCustomMessage

收到當前智能體發過來的自訂訊息

voiceInterruptChanged

當前通話的語音打斷是否啟用

humanTakeoverWillStart

真人即將接管當前智能體

humanTakeoverConnected

當真人接管已經接通

agentDataChannelAvailable

智能體訊息通道可用性回調

receivedAgentVcrResult

收到當前智能體發過來VCR結果

API詳情

ARTCAICallEngine 詳情

call

開始通話

async call(userId: string, agentInfo: AICallAgentInfo, config?: AICallEngineConfig): Promise<void>>

參數詳情:

參數

類型

含義

userId

String

目前使用者uid

agentInfo

AICallAgentInfo

智能體資訊

config

AICallEngineConfig

初始化配置,類型定義:

{
  //是否靜音麥克風
  muteMicrophone?: boolean;
  //視覺完整模式是否關閉網路攝影機
  muteCamera?: boolean;
  //是否開啟按住說話
  enablePushToTalk?: boolean;
  //視覺完整模式 預覽視頻元素
  previewElement?: string | HTMLVideoElement;
  //視覺完整模式 網路攝影機設定
  cameraConfig?: AICallCameraConfig;
}

handup

退出通話

async handup(): Promise<void>

setAgentView

設定智能體渲染視圖

setAgentView(view: HTMLVideoElement | string): void

參數詳情:

參數

類型

含義

view

HTMLVideoElement | string

video 標籤或者對應的 id

setLocalView

設定本地預覽視圖

setLocalView(view?: HTMLVideoElement | string): void

參數詳情:

參數

類型

含義

view

HTMLVideoElement | string

video 標籤或者對應的 id 如果不傳則停止預覽

interruptSpeaking

打斷智能體講話

async interruptSpeaking(): Promise<void>

enableVoiceInterrupt

開啟/關閉智能打斷

async enableVoiceInterrupt(enable: boolean): Promise<void>

參數詳情:

參數

類型

含義

enable

boolean

開啟/關閉

muteLocalCamera

開關網路攝影機推送

async muteLocalCamera(mute: boolean)

參數詳情:

參數

類型

含義

mute

boolean

是否開啟網路攝影機

switchCamera

切換網路攝影機

async switchCamera(deviceId?: string)

參數詳情:

參數

類型

含義

deviceId

string

裝置 Id,可以通過 ARTCAICallEngine.getCameraList() 擷取,不傳在手機端會切換前後置網路攝影機。

switchVoiceId

切換音色

async switchVoiceId(voiceId: string): Promise<void>

參數詳情:

參數

類型

含義

voiceId

string

音色id

mute

靜音/取消禁音麥克風

async mute(mute: boolean): Promise<void>

參數詳情:

參數

類型

含義

mute

boolean

靜音/取消禁音

muteAgentAudioPlaying

停止/恢複智能體音頻流的播放

muteAgentAudioPlaying(mute: boolean)

參數詳情:

參數

類型

含義

mute

boolean

是否靜音

startPushToTalk

對講機模式下,開始講話

startPushToTalk() :boolean;

finishPushToTalk

對講機模式下,結束講話

finishPushToTalk() :boolean;

cancelPushToTalk

對講機模式下,取消這次講話

cancelPushToTalk() :boolean;

enablePushToTalk

開啟/關閉對講機模式,對講機模式下,只有在finishPushToTalk被調用後,智能體才會播報結果

enablePushToTalk(enable: boolean):boolean;

參數詳情:

參數

類型

含義

enable

Bool

關閉或啟用

getRTCInstance

擷取RTC引擎

getRTCInstance(): AliRtcEngine | undefined

sendTextToAgent

給智能體發送簡訊

sendTextToAgent(req: AICallSendTextToAgentRequest);

參數詳情:

參數

類型

含義

req

AICallSendTextToAgentRequest

發送的訊息結構體

new AICallSendTextToAgentRequest(text)

sendCustomMessageToServer

給Server發送自訂訊息,需要在接通後調用

sendCustomMessageToServer(msg: string)

參數詳情:

參數

類型

含義

msg

string

發送內容

updateLlmSystemPrompt

更新LLM的系統提示詞,需要在接通後調用。

updateLlmSystemPrompt(prompt: string)

參數詳情:

參數

類型

含義

prompt

string

提示詞

updateVcrConfig

更新VCR配置

 public updateVcrConfig(vcrConfig: AICallAgentVcrConfig)

參數詳情:

參數

類型

含義

vcrConfig

AICallAgentVcrConfig

vcr配置

updateBailianAppParams

更新百鍊應用中心參數

public updateBailianAppParams(params: JSONObject)

參數詳情:

參數

類型

含義

params

object

百鍊應用中心參數

startVisionCustomCapture

視覺理解智能體,開始啟動自訂截幀,啟動後,無法通過語音與智能體通話,需要在接通後調用

startVisionCustomCapture(req: AICallVisionCustomCaptureRequest)

參數詳情:

參數

類型

含義

req

AICallVisionCustomCaptureRequest

配置資訊

{
  /**
   * 請求多模態大模型時的文本參數
   */
  text?: string;

  /**
   * 為true時表示單次截幀,截幀後立即退出自訂截幀狀態;
   * 為false時表示持續截幀,達到duration後會自動結束自訂截幀狀態
   */
  isSingle?: boolean;

  /**
   * 截幀間隔時間長度
   * 預設 5 秒一次
   */
  eachDuration?: number;

  /**
   * 每次截幀的圖片數量
   * 預設 2
   */
  num?: number;

  /**
   * 持續截幀的時間長度(秒),如果isSingle=true,則忽略,否則達到該設定時間長度時會結束自訂截幀狀態
   */
  duration?: number;

  /**
   * json字串,自訂商務資訊,跟隨text和圖片幀一同傳給大模型,用於企業做業務處理
   */
  userData?: string;
}

stopVisionCustomCapture

視覺理解智能體,結束自訂截幀,需要在接通後調用

stopVisionCustomCapture()

destroy

釋放資源

async destroy()

ARTCAICallEngine事件詳情

errorOccurred

當前通話時發生了錯誤

參數詳情:

參數

類型

含義

code

AICallErrorCode

錯誤類型

callBegin

通話開始

callEnd

通話結束

agentStateChange

智能體狀態改變

參數詳情:

參數

類型

含義

state

AICallAgentState

當前智能體狀態:聆聽中\思考中\講話中

speakingVolumeChanged

音量變化通知

參數詳情:

參數

類型

含義

uid

string

當前講話人的uid,目前使用者為空白字串

volume

Int32

音量[0-100]

userSubtitleNotify

使用者提問被智能體識別結果的通知

參數詳情:

參數

類型

含義

subtitle

AICallSubtitleData

字幕資訊

agentSubtitleNotify

智能體回答結果通知

參數詳情:

參數

類型

含義

subtitle

AICallSubtitleData

字幕資訊

voiceIdChanged

當前通話的音色發生了改變

參數詳情:

參數

類型

含義

voiceId

string

當前音色Id

pushToTalkChanged

對講機模式發生變化

參數詳情:

參數

類型

含義

enable

boolean

是否啟用

agentWillLeave

當前智能體即將離開(結束當前通話)

參數詳情:

參數

類型

含義

reason

number

離開原因:2001(閑時退出) 0(其他)

message

string

離開原因的描述

receivedAgentCustomMessage

收到當前智能體發過來的自訂訊息

參數詳情:

參數

類型

含義

data

Object

訊息內容

voiceInterruptChanged

當前通話的語音打斷是否啟用

參數詳情:

參數

類型

含義

enable

boolean

是否啟用

humanTakeoverWillStart

真人即將接管當前智能體

參數詳情:

參數

類型

含義

takeoverUid

string

真人uid

takeoverMode

number

1:表示使用真人音色輸出;0:表示使用智能體音色輸出

humanTakeoverConnected

真人接管已經接通

參數詳情:

參數

類型

含義

takeoverUid

string

真人uid

agentEmotionNotify

智能體情緒結果通知

參數詳情:

參數

類型

含義

emotion

string

情緒標籤,例如:neutral\happy\angry\sad 等

userAsrSentenceId

number

回答使用者問題的句子ID

agentDataChannelAvailable

智能體訊息通道可用性回調,該回調觸發後,可以開始給智能體發送訊息

receivedAgentVcrResult

收到當前智能體發過來VCR結果。詳情,請參見AICallAgentVcrResult

receivedAgentVcrResult: (result: AICallAgentVcrResult) => void;

參數詳情:

參數

類型

含義

result

AICallAgentVcrResult

vcr結果