すべてのプロダクト
Search
ドキュメントセンター

Intelligent Media Services:API リファレンス

最終更新日:Jun 04, 2025

このトピックでは、iOS 用 AlCallKit SDK で使用可能な API について説明します。

概要

クラスまたはプロトコル

API

説明

ARTCAICallEngineInterface

エンジンインスタンス

userId

現在の通話におけるユーザーの ID を照会します。

isOnCall

通話が進行中かどうかを示します。

agentInfo

現在のエージェントに関する情報を照会します。

agentState

現在のエージェントのステータスを照会します。

デリゲート

コールバックイベントを構成およびクエリします。

呼び出し [1/2]

呼び出しを開始します。

呼び出し [2/2]

指定された通話構成を使用して通話を開始します。

handup

通話を終了します。

audioConfig

オーディオ構成。

setAgentViewConfig

エージェントのレンダリングビューを構成します。

interruptSpeaking

エージェントの発話を中断します。

音声割り込みを有効にする

インテリジェントな割り込みを有効または無効にします。

switchVoiceId

音声を変更します。

スピーカーを有効にする

スピーカーを有効または無効にします。

PushToTalk を有効にする

プッシュツートークモードを有効または無効にします。

startPushToTalk

プッシュツートークモードで話し始めます。

finishPushToTalk

プッシュツートークモードでの発話を終了します。

cancelPushToTalk

プッシュツートークモードでの発話をキャンセルします。

muteMicrophone

マイクをミュートまたはミュート解除します。

muteAgentAudioPlaying

エージェントからの音声をミュートまたはミュート解除します。

visionConfig

視覚構成。

muteLocalCamera

カメラのオンとオフを切り替えます。

switchCamera

前面カメラと背面カメラを切り替えます。

parseShareAgentCall

共有エージェントに関する情報を解析します。

generateShareAgentCall

共有エージェントとの通話を開始します。

getRTCInstance

リアルタイムコミュニケーション ( RTC ) エンジンインスタンスに関する情報を照会します。

sendTextToAgent

エージェントにテキストメッセージを送信します。

sendCustomMessageToServer

AppServer にカスタムメッセージを送信します。

updateLlmSystemPrompt

大規模言語モデル ( LLM ) のシステムプロンプトを更新します。

startVisionCustomCapture

カスタムフレームキャプチャを開始します。

stopVisionCustomCapture を停止する

カスタムフレームキャプチャを終了します。

破棄する

リソースを解放します。

ARTCAICallEngineDelegate

エンジンインスタンスのコールバックイベント

エラー発生時

エラーが発生しました。

onAgentStarted

エージェントが開始されました。

onCallBegin

通話が開始されました。

onCallEnd

通話が終了しました。

onAgentVideoAvailable

エージェントの取り込まれたビデオストリームが利用可能かどうかを示します。

onAgentAudioAvailable

エージェントの取り込まれたオーディオストリームが利用可能かどうかを示します。

onRTCEngineCreated

RTC エンジンが作成されました。

onPushToTalk

現在の通話でプッシュツートークモードが有効かどうかを示します。

onAgentWillLeave

エージェントが現在の通話を終了しようとしています。

onReceivedAgentCustomMessage

エージェントからカスタムメッセージを受信しました。

onAgentStateChanged

エージェントのステータスが変更されました。

onNetworkStatusChanged

ネットワークステータスが変更されました。

onVoiceVolumeChanged

音量が変更されました。

onUserSubtitleNotify

エージェントはユーザーの質問を認識します。

onVoiceAgentSubtitleNotify

エージェントは回答を返します。

onLLMReplyCompleted

LLM は、現在の通話での質問への応答を完了しました。

onVoiceIdChanged

エージェントの音声が変更されました。

onVoiceInterrupted

現在の通話の音声中断ステータスが変更されました。

onSpeakingInterrupted

エージェントの発話が指定されたキーワードを使用して中断されました。

onVisionCustomCapture

Visual Understanding エージェントとの現在の呼び出しで、カスタムフレームキャプチャが有効になっているかどうかを示します。

onAgentAvatarFirstFrameDrawn

デジタルヒューマンエージェントの最初のビデオフレームがレンダリングされました。

onHumanTakeoverWillStart

人間のエージェントが現在のエージェントから引き継ごうとしています。

onHumanTakeoverConnected

人間のエージェントが現在のエージェントから引き継ぎました。

onAgentEmotionNotify

エージェントは感情を検出します。

ARTCAICallEngineFactory

エンジンファクトリ

エンジンを作成する

デフォルトのエンジンインスタンスを作成します。

詳細

ARTCAICallEngineInterface

userId

現在の通話におけるユーザーの ID を照会します。

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

通話への参加に使用されるトークン。

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 }

setAgentViewConfig

エージェントのレンダリングビューを構成します。この設定は、デジタルヒューマンエージェントに対してのみ有効です。

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

AppServer にカスタムメッセージを送信します。通話セッションが開始された後に、この操作を呼び出します。

func sendCustomMessageToServer(msg: String) -> Bool

パラメーター

タイプ

説明

msg

String

メッセージの内容。

updateLlmSystemPrompt

LLM のシステムプロンプトを更新します。通話セッションが開始された後に、この操作を呼び出します。

func updateLlmSystemPrompt(prompt: String) -> Bool

パラメーター

タイプ

説明

prompt

String

プロンプト。

sendCustomMessageToServer

カスタムフレームキャプチャを開始します。開始されると、視覚理解エージェントとの音声通信は無効になります。視覚理解エージェントとの通話を開始した後に、この操作を呼び出します。

func startVisionCustomCapture(req: ARTCAICallVisionCustomCaptureRequest) -> Bool

パラメーター

タイプ

説明

req

ARTCAICallVisionCustomCaptureRequest

構成情報。

stopVisionCustomCapture

カスタムフレームキャプチャを終了します。視覚理解エージェントとの通話を開始した後に、この操作を呼び出します。

func stopVisionCustomCapture() -> Bool

破棄

リソースを解放します。

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: メッセージの内容

パラメータ

説明

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

ネットワーク品質。有効な値:

  • Excellent

  • Good

  • Poor

  • Bad

  • VeryBad

  • Disconnect

  • Unknow

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 です。

userId

エージェントは回答を返します。

@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。

isOnCall

エージェントの音声が変更されました。

@objc optional func onVoiceIdChanged(voiceId: String) // voiceId が変更されたときに呼び出されます。

パラメーター

タイプ

説明

voiceId

String

音声 ID です。

agentInfo

現在の通話で音声割り込みが有効になっているかどうかを示します。

@objc optional func onVoiceInterrupted(enable: Bool) // 音声の中断時に呼び出されます (enable: 有効)

パラメーター

タイプ

説明

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

ニュートラル、ハッピー、アングリー、悲しいなどの感情タグ。

userAsrSentenceId

Int

エージェントによって認識されたユーザーの質問が属する文の ID。

ARTCAICallEngineFactory の詳細

createEngine

デフォルトのエンジンインスタンスを作成します。

public static func createEngine() -> ARTCAICallEngineInterface