全部產品
Search
文件中心

Intelligent Media Services:API介面詳情

更新時間:Dec 05, 2025

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

API概覽

說明

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

類/協議

API

說明

ARTCAICallEngineInterface

引擎介面定義

userId

擷取當前通話的UserId

isOnCall

是否通話中

agentInfo

擷取當前智能體資訊

agentState

擷取當前智能體狀態

delegate

設定和擷取回調事件

call[1/2]

開始通話

call[2/2]

通過通話配置來開始通話

handup

掛斷

audioConfig

音頻配置,包括編碼配置(採樣率、聲道數、碼率等)與情境配置(預設情境、音樂情境)

videoConfig

視頻配置

setLocalViewConfig

設定本地網路攝影機渲染視圖及配置

setAgentViewConfig

設定智能體渲染視圖配置,當智能體有畫面渲染時需要設定(當前僅針對AvararAgent/VideoAgent有效)

interruptSpeaking

打斷智能體講話

enableVoiceInterrupt

開啟/關閉智能打斷

switchVoiceId

切換音色

enableSpeaker

開啟/關閉擴音器

enablePushToTalk

開啟/關閉對講機模式

startPushToTalk

對講機模式下,開始講話

finishPushToTalk

對講機模式下,結束講話

cancelPushToTalk

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

muteMicrophone

靜音/取消禁音麥克風

muteAgentAudioPlaying

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

visionConfig

視覺理解通話參數配置

muteLocalCamera

關閉/取消關閉網路攝影機。

switchCamera

切換前後網路攝影機

parseShareAgentCall

解析一個分享的智能體資訊

generateShareAgentCall

啟動一個分享的智能體通話

getRTCInstance

擷取RTC引擎

sendTextToAgent

給智能體發送簡訊

sendCustomMessageToServer

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

updateLlmSystemPrompt

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

updateBailianAppParams

更新百鍊應用中心參數

updateVcrConfig

更新VCR配置

startVisionCustomCapture

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

stopVisionCustomCapture

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

destroy

釋放資源

ARTCAICallEngineDelegate

引擎回調事件

onErrorOccurs

發生了錯誤

onAgentStarted

通話智能體已啟動

onCallBegin

通話開始

onCallEnd

通話結束

onAgentVideoAvailable

智能體視頻是否可用

onAgentAudioAvailable

智能體音頻是否可用

onRTCEngineCreated

RTC引擎被成功建立

onPushToTalk

當前通話的對講機模式是否啟用

onAgentWillLeave

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

onReceivedAgentCustomMessage

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

onAgentStateChanged

智能體狀態改變

onNetworkStatusChanged

網路狀態改變

onVoiceVolumeChanged

音量變化

onUserSubtitleNotify

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

onVoiceAgentSubtitleNotify

智能體回答結果通知

onLLMReplyCompleted

當前通話中,LLM回答完畢

onVoiceIdChanged

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

onVoiceInterrupted

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

onSpeakingInterrupted

智能體當前講話被打斷(僅支援特定詞打斷回調)

onVisionCustomCapture

當前視覺理解通話是否啟用了自訂截幀模式

onAgentAvatarFirstFrameDrawn

智能體數字人首幀渲染

onHumanTakeoverWillStart

當真人即將接管當前智能體

onHumanTakeoverConnected

當真人接管已經接通

onAgentEmotionNotify

智能體情緒結果通知

onAgentDataChannelAvailable

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

onReceivedAgentVcrResult

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

onConnectionStatusChange

通話過程中串連狀態發生變化

onAudioDelayInfo

音頻迴環延遲

onAudioAccompanyStateChanged

當前通話中,如果通過RTC Instance進行播放音樂伴奏,則會觸發該播放回調

ARTCAICallEngineFactory

引擎建立工廠

createEngine

建立預設的引擎執行個體

API詳情

ARTCAICallEngineInterface詳情

userId

擷取當前通話的UserId

var userId: String? {get}

isOnCall

是否通話中, 從接通後到掛斷或出錯前為true,其他為false

var isOnCall: Bool { get }

agentInfo

擷取當前智能體資訊,包括:類型、頻道Id、智能體在頻道中的uid、智能體運行執行個體ID,詳細內容,請參見ARTCAICallAgentInfo

var agentInfo: ARTCAICallAgentInfo? { get }

agentState

擷取當前智能體狀態,包括:聆聽中\思考中\講話中。詳細內容,請參見ARTCAICallAgentState

var agentState: ARTCAICallAgentState { get }

delegate

設定和擷取回調事件。更多回調事件,請參見ARTCAICallEngineDelegate

weak var delegate: ARTCAICallEngineDelegate? { get set }

call[1/2]

開始通話

說明

該介面是由服務端呼叫智能體,端側所調用介面。如何通過服務端發起智能體通話,請參見如何通過服務端介面發起智能體通話

func call(userId: String, token: String, agentInfo: ARTCAICallAgentInfo, completed:((_ error: NSError?) -> Void)?)

參數詳情:

參數

類型

含義

userId

String

目前使用者uid

token

String

入會Token

agentInfo

ARTCAICallAgentInfo

智能體資訊

completed

((_ error: NSError?) -> Void)?

完成回調

call[2/2]

通過通話配置來開始通話

說明

該介面是由用戶端呼叫智能體所調用介面,目前預設為該來電者案。詳細內容,請參見iOS使用指南

func call(config: ARTCAICallConfig) -> Bool

參數詳情:

參數

類型

含義

config

ARTCAICallConfig

通話配置

handup

退出通話

 func handup(_ stopAIAgent: Bool)

參數詳情:

參數

類型

含義

stopAIAgent

Bool

是否同時結束當前智能體任務

audioConfig

音頻配置,包括編碼配置(採樣率、聲道數、碼率等)與情境配置(預設情境、音樂情境)。詳細內容,請參見ARTCAICallAudioConfig,該參數在通話前設定才會生效。

var audioConfig: ARTCAICallAudioConfig { set get }

videoConfig

視頻配置,在通話前設定才會生效(僅針對VisionAgent/VideoAgent有效),詳細內容請參見ARTCAICallVideoConfig

var videoConfig: ARTCAICallVideoConfig { set get }

setLocalViewConfig

設定本地網路攝影機渲染視圖及配置(當前僅針對VisionAgent/VideoAgent有效),詳細內容請參見ARTCAICallViewConfig

func setLocalViewConfig(viewConfig: ARTCAICallViewConfig?)

參數詳情:

參數

類型

含義

viewConfig

ARTCAICallViewConfig

視圖配置,為空白時表示不需要渲染視圖

setAgentViewConfig

設定智能體渲染視圖配置,當智能體有畫面渲染時需要設定(當前僅針對VisionAgent/VideoAgent有效),詳細內容請參見ARTCAICallViewConfig

func setAgentViewConfig(viewConfig: ARTCAICallViewConfig?)

參數詳情:

參數

類型

含義

viewConfig

ARTCAICallViewConfig?

渲染視圖配置,包括渲染視圖、渲染模式、鏡像模式、旋轉模式等

interruptSpeaking

打斷智能體講話

func interruptSpeaking() -> Bool

enableVoiceInterrupt

開啟/關閉智能打斷

func enableVoiceInterrupt(enable: Bool) -> Bool

參數詳情:

參數

類型

含義

enable

Bool

開啟/關閉

switchVoiceId

切換音色

func switchVoiceId(voiceId: String) -> Bool

參數詳情:

參數

類型

含義

voiceId

String

音色id

enableSpeaker

開啟/關閉擴音器

func enableSpeaker(enable: Bool) -> Bool

參數詳情:

參數

類型

含義

enable

Bool

開啟/關閉

enablePushToTalk

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

func enablePushToTalk(enable: Bool) -> Bool

參數詳情:

參數

類型

含義

enable

Bool

關閉或啟用

startPushToTalk

對講機模式下,開始講話

func startPushToTalk() -> Bool

finishPushToTalk

對講機模式下,結束講話

func finishPushToTalk() -> Bool

cancelPushToTalk

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

func cancelPushToTalk() -> Bool

muteMicrophone

靜音/取消禁音麥克風

func muteMicrophone(mute: Bool) -> Bool

參數詳情:

參數

類型

含義

mute

Bool

靜音/取消禁音

muteAgentAudioPlaying

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

func muteAgentAudioPlaying(mute: Bool) -> Bool

參數詳情:

參數

類型

含義

mute

Bool

是否靜音

visionConfig

使用視覺智能體時需要設定,且在通話前設定才會生效。視覺配置,包括解析度、幀率等。詳細內容,請參見ARTCAICallVisionConfig

var visionConfig: ARTCAICallVisionConfig { set get }

muteLocalCamera

關閉/取消關閉網路攝影機。

func muteLocalCamera(mute: Bool) -> Bool

參數詳情:

參數

類型

含義

mute

Bool

關閉或啟用

switchCamera

切換前後網路攝影機

func switchCamera() -> Bool

parseShareAgentCall

解析一個分享的智能體資訊,解析成功則返回一個ARTCAICallAgentShareConfig類型的執行個體,可以通過該執行個體啟動一個分享出來的智能體通話

func parseShareAgentCall(shareInfo: String) -> ARTCAICallAgentShareConfig?

參數詳情:

參數

類型

含義

shareInfo

String

分享出來的智能體資訊,可以在控制台上產生

generateShareAgentCall

啟動一個分享的智能體通話

func generateShareAgentCall(shareConfig: ARTCAICallAgentShareConfig, userId: String, completed: ((_ rsp: ARTCAICallAgentInfo?, _ token: String?, _ error: NSError?, _ reqId: String) -> Void)?)

參數詳情:

參數

類型

含義

shareConfig

ARTCAICallAgentShareConfig

分享智能體配置資訊,包括分享id、智能體類型、到期時間、模板配置、地區等,可以到SDK查看定義

userId

String

當前登入的使用者Id

completed

((_ rsp: ARTCAICallAgentInfo?, _ token: String?, _ error: NSError?, _ reqId: String) -> Void)?

操作完成事件

getRTCInstance

擷取RTC引擎

func getRTCInstance() -> AnyObject?

sendTextToAgent

給智能體發送簡訊

func sendTextToAgent(req: ARTCAICallSendTextToAgentRequest) -> Bool

參數詳情:

參數

類型

含義

req

ARTCAICallSendTextToAgentRequest

發送的訊息結構體

sendCustomMessageToServer

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

func sendCustomMessageToServer(msg: String) -> Bool

參數詳情:

參數

類型

含義

msg

String

發送內容

updateLlmSystemPrompt

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

func updateLlmSystemPrompt(prompt: String) -> Bool

參數詳情:

參數

類型

含義

prompt

String

提示詞

updateBailianAppParams

更新百鍊應用中心參數

func updateBailianAppParams(params: [String: Any]) -> Bool

參數詳情:

參數

類型

含義

params

String

百鍊應用中心參數

updateVcrConfig

更新VCR配置

 func updateVcrConfig(vcrConfig: ARTCAICallAgentVcrConfig) -> Bool

參數詳情:

參數

類型

含義

vcrConfig

ARTCAICallAgentVcrConfig

vcr配置

startVisionCustomCapture

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

func startVisionCustomCapture(req: ARTCAICallVisionCustomCaptureRequest) -> Bool

參數詳情:

參數

類型

含義

req

ARTCAICallVisionCustomCaptureRequest

配置資訊

stopVisionCustomCapture

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

func stopVisionCustomCapture() -> Bool

destroy

釋放資源

func destroy()

ARTCAICallEngineDelegate詳情

onErrorOccurs

當前通話時發生了錯誤

@objc optional func onErrorOccurs(code: ARTCAICallErrorCode)

參數詳情:

參數

類型

含義

code

ARTCAICallErrorCode

錯誤類型

onAgentStarted

通話智能體已啟動

@objc optional func onAgentStarted()

onCallBegin

通話開始

@objc optional func onCallBegin()

onCallEnd

通話結束

@objc optional func onCallEnd()

onAgentVideoAvailable

智能體視頻是否可用

@objc optional func onAgentVideoAvailable(available: Bool)

參數詳情:

參數

類型

含義

available

Bool

是否可用

onAgentAudioAvailable

智能體音頻是否可用

@objc optional func onAgentAudioAvailable(available: Bool)

參數詳情:

參數

類型

含義

available

Bool

是否可用

onRTCEngineCreated

RTC引擎被成功建立,可以在這個回調裡調用getRTCInstance擷取到rtc引擎執行個體

@objc optional func onRTCEngineCreated()

onPushToTalk

當前通話的對講機模式是否啟用

@objc optional func onPushToTalk(enable: Bool)

參數詳情:

參數

類型

含義

enable

Bool

是否啟用

onAgentWillLeave

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

@objc optional func onAgentWillLeave(reason: Int32, message: String)

參數詳情:

參數

類型

含義

reason

Int32

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

message

String

離開原因的描述

onReceivedAgentCustomMessage

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

@objc optional func onReceivedAgentCustomMessage(data: [String: Any]?)

參數詳情:

參數

類型

含義

data

[String: Any]?

訊息內容

onAgentStateChanged

智能體狀態改變

@objc optional func onAgentStateChanged(state: ARTCAICallAgentState)

參數詳情:

參數

類型

含義

state

ARTCAICallAgentState

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

onNetworkStatusChanged

網路狀態改變

@objc optional func onNetworkStatusChanged(uid: String, quality: ARTCAICallNetworkQuality)

參數詳情:

參數

類型

含義

uid

String

當前講話人的Id

quality

ARTCAICallNetworkQuality

網路品質,包括:極好/好/有點差/差/極差/中斷/未知

onVoiceVolumeChanged

音量變化通知

@objc optional func onVoiceVolumeChanged(uid: String, volume: Int32)

參數詳情:

參數

類型

含義

uid

String

當前講話人的uid

volume

Int32

音量[0-255]

onUserSubtitleNotify

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

@objc optional func onUserSubtitleNotify(text: String, isSentenceEnd: Bool, sentenceId: Int)

參數詳情:

參數

類型

含義

text

String

被智能體識別出的提問文本

isSentenceEnd

Bool

當前文本是否為這句話的最終結果

sentenceId

Int

當前文本屬於的句子ID

onVoiceAgentSubtitleNotify

智能體回答結果通知

@objc optional func onVoiceAgentSubtitleNotify(text: String, isSentenceEnd: Bool, userAsrSentenceId: Int)

參數詳情:

參數

類型

含義

text

String

智能體回答的文本

isSentenceEnd

Bool

當前文本是否為此次回答的最後一句

userAsrSentenceId

Int

回答使用者問題的句子ID

onLLMReplyCompleted

當前通話中,LLM回答完畢

@objc optional func onLLMReplyCompleted(text: String, userAsrSentenceId: Int)

參數詳情:

參數

類型

含義

text

String

LLM輸出的文本

userAsrSentenceId

Int

回答使用者問題的句子ID

onVoiceIdChanged

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

@objc optional func onVoiceIdChanged(voiceId: String)

參數詳情:

參數

類型

含義

voiceId

String

當前音色Id

onVoiceInterrupted

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

@objc optional func onVoiceInterrupted(enable: Bool)

參數詳情:

參數

類型

含義

enable

Bool

是否啟用

onSpeakingInterrupted

智能體當前講話被打斷

@objc optional func onSpeakingInterrupted(reason: ARTCAICallSpeakingInterruptedReason)

參數詳情:

參數

類型

含義

reason

ARTCAICallSpeakingInterruptedReason

原因,例如:特定詞打斷

onVisionCustomCapture

當前視覺理解通話是否啟用了自訂截幀模式

@objc optional func onVisionCustomCapture(enable: Bool)

參數詳情:

參數

類型

含義

enable

Bool

是否啟用

onAgentAvatarFirstFrameDrawn

智能體數字人首幀渲染

@objc optional func onAgentAvatarFirstFrameDrawn()

onHumanTakeoverWillStart

當真人即將接管當前智能體

@objc optional func onHumanTakeoverWillStart(takeoverUid: String, takeoverMode: Int)

參數詳情:

參數

類型

含義

takeoverUid

String

真人uid

takeoverMode

Int

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

onHumanTakeoverConnected

當真人接管已經接通

@objc optional func onHumanTakeoverConnected(takeoverUid: String)

參數詳情:

參數

類型

含義

takeoverUid

String

真人uid

onAgentEmotionNotify

智能體情緒結果通知

@objc optional func onAgentEmotionNotify(emotion: String, userAsrSentenceId: Int)

參數詳情:

參數

類型

含義

emotion

String

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

userAsrSentenceId

Int

回答使用者問題的句子ID

onAgentDataChannelAvailable

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

@objc optional func onAgentDataChannelAvailable()

onReceivedAgentVcrResult

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

@objc optional func onReceivedAgentVcrResult(result: ARTCAICallAgentVcrResult)

onConnectionStatusChange

通話過程中串連狀態發生變化。

@objc optional func onConnectionStatusChange(status: ARTCAICallConnectionStatus, reason: Int32)

參數詳情:

參數

類型

含義

status

ARTCAICallConnectionStatus

狀態代碼:

  • Init:初始化完成。

  • Disconnected:網路連接斷開。

  • Connecting:建立網路連接中。

  • Connected:網路已串連。

  • Reconnecting:重建立立網路連接中。

  • Failed:網路連接失敗。

reason

Int

發生原因。

onAudioDelayInfo

音頻迴環延遲。

@objc optional func onAudioDelayInfo(sentenceId: Int32, delayMs: Int64)

參數詳情:

參數

類型

含義

sentenceId

Int32

語句ID。

delayMs

Int64

音頻迴環延遲時間(單位:毫秒)。

onAudioAccompanyStateChanged

當前通話中,如果通過RTC Instance進行播放音樂伴奏,則會觸發該播放回調。

 @objc optional func onAudioAccompanyStateChanged(state: ARTCAICallAudioAccompanyState, errorCode: ARTCAICallAudioAccompanyErrorCode)

參數詳情:

參數

類型

含義

state

ARTCAICallAudioAccompanyState

音樂伴奏播放狀態:
• ARTCAICallAudioAccompanyStarted (100):開始播放。
• ARTCAICallAudioAccompanyStopped (101):停止播放。
• ARTCAICallAudioAccompanyPaused (102):播放暫停。
• ARTCAICallAudioAccompanyResumed (103):播放恢複。
• ARTCAICallAudioAccompanyEnded (104):播放完畢。
• ARTCAICallAudioAccompanyBuffering (105):正在緩衝。
• ARTCAICallAudioAccompanyBufferingEnd (106):緩衝結束。
• ARTCAICallAudioAccompanyFailed (107):播放失敗。







errorCode

ARTCAICallAudioAccompanyErrorCode

播放錯誤碼:
• ARTCAICallAudioAccompanyNoError (0):沒有錯誤。
• ARTCAICallAudioAccompanyUnknowError (-1):未知錯誤。
• ARTCAICallAudioAccompanyOpenFailed (-100):開啟檔案失敗。
• ARTCAICallAudioAccompanyDecodeFailed (-101):解碼檔案失敗。



ARTCAICallEngineFactory詳情

createEngine

建立預設的引擎執行個體

public static func createEngine() -> ARTCAICallEngineInterface