全部产品
Search
文档中心

Intelligent Media Services:Referensi API

更新时间:Jul 02, 2025

Topik ini menjelaskan API yang tersedia di AlCallKit SDK untuk Web.

Ikhtisar

Catatan

Versi sebelumnya dari SDK berisi parameter dan metode yang sudah tidak digunakan lagi. Kami menyarankan Anda memperbarui SDK ke versi terbaru. Untuk informasi lebih lanjut, lihat Web.

Kelas/Protokol

API

Deskripsi

ARTCAICallEngine

Contoh mesin

call

Memulai panggilan.

handup

Mengakhiri panggilan.

Catatan

Kami menyarankan Anda memanggil operasi ini untuk mengakhiri panggilan sebelum keluar dari halaman. Gagal melakukannya dapat menyebabkan agen tetap aktif selama sekitar 90 detik sebelum keluar, yang mungkin melebihi batas konkurensi agen avatar.

setAgentView

Mengonfigurasi tampilan rendering untuk agen.

setLocalView

Menetapkan tampilan video lokal.

interruptSpeaking

Menginterupsi ucapan agen.

enableVoiceInterrupt

Mengaktifkan atau menonaktifkan interupsi cerdas.

muteLocalCamera

Mengaktifkan atau menonaktifkan dorongan kamera.

switchCamera

Beralih antara kamera depan dan belakang.

switchVoiceId

Mengubah suara.

mute

Mematikan atau menghidupkan mikrofon.

muteAgentAudioPlaying

Mematikan atau menghidupkan output audio agen.

startPushToTalk

Memulai berbicara dalam mode push-to-talk.

finishPushToTalk

Menyelesaikan berbicara dalam mode push-to-talk.

cancelPushToTalk

Membatalkan berbicara dalam mode push-to-talk.

enablePushToTalk

Mengaktifkan atau menonaktifkan mode push-to-talk.

getRTCInstance

Meminta informasi tentang instance mesin komunikasi real-time (RTC).

sendTextToAgent

Mengirim pesan teks ke agen.

sendCustomMessageToServer

Mengirim pesan kustom ke AppServer.

updateLlmSystemPrompt

Memperbarui prompt sistem untuk model bahasa besar (LLM).

startVisionCustomCapture

Memulai penangkapan frame kustom.

stopVisionCustomCapture

Mengakhiri penangkapan frame kustom.

destroy

Melepaskan sumber daya.

ARTCAICallEngine

Peristiwa callback dari contoh mesin

errorOccurred

Telah terjadi kesalahan.

callBegin

Panggilan telah dimulai.

callEnd

Panggilan telah berakhir.

agentStateChanged

Status agen telah berubah.

speakingVolumeChanged

Volume telah berubah.

userSubtitleNotify

Agen mengenali pertanyaan pengguna.

agentSubtitleNotify

Agen memberikan jawaban.

voiceIdChanged

Suara agen telah berubah.

pushToTalkChanged

Mode push-to-talk telah berubah.

agentWillLeave

Agen akan mengakhiri panggilan saat ini.

receivedAgentCustomMessage

Pesan kustom telah diterima dari agen.

voiceInterruptChanged

Status interupsi suara telah berubah.

humanTakeoverWillStart

Agen manusia akan masuk untuk mengambil alih dari agen saat ini.

humanTakeoverConnected

Agen manusia telah mengambil alih dari agen saat ini.

agentDataChannelAvailable

Saluran data agen siap digunakan.

Rincian

Rincian ARTCAICallEngine

call

Memulai panggilan.

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

Parameter

Tipe

Deskripsi

userId

String

UID pengguna saat ini.

agentInfo

AICallAgentInfo

Informasi agen.

config

AICallEngineConfig

Konfigurasi inisialisasi. Contoh:

{
  // Menentukan apakah mikrofon dimatikan.
  muteMicrophone?: boolean;
  // Menentukan apakah kamera dinonaktifkan dalam mode pemahaman visual.
  muteCamera?: boolean;
  // Menentukan apakah mode push-to-talk diaktifkan.
  enablePushToTalk?: boolean;
  // Elemen pratinjau video dalam mode pemahaman visual.
  previewElement?: string | HTMLVideoElement;
  // Pengaturan kamera dalam mode pemahaman visual.
  cameraConfig?: AICallCameraConfig;
}

handup

Mengakhiri panggilan.

async handup(): Promise<void>

setAgentView

Mengonfigurasi tampilan rendering untuk Agen.

setAgentView(view: HTMLVideoElement | string): void

Parameter

Tipe

Deskripsi

view

HTMLVideoElement | string

Elemen video atau ID-nya.

setLocalView

Menetapkan tampilan video lokal.

setLocalView(view?: HTMLVideoElement | string): void

Parameter

Tipe

Deskripsi

view

HTMLVideoElement | string

Elemen video atau ID-nya. Jika dibiarkan kosong, pratinjau dinonaktifkan.

interruptSpeaking

Menginterupsi ucapan Agen.

async interruptSpeaking(): Promise<void>

enableVoiceInterrupt

Mengaktifkan atau menonaktifkan interupsi cerdas.

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

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah akan mengaktifkan interupsi cerdas.

muteLocalCamera

Mengaktifkan atau menonaktifkan dorongan kamera.

async muteLocalCamera(mute: boolean)

Parameter

Tipe

Deskripsi

mute

boolean

Menentukan apakah akan mengaktifkan kamera.

switchCamera

Beralih antara kamera depan dan belakang.

async switchCamera(deviceId?: string)

Parameter

Tipe

Deskripsi

deviceId

string

ID perangkat. Anda dapat meminta ID perangkat menggunakan ARTCAICallEngine.getCameraList(). Jika parameter ini tidak ditentukan, pergantian kamera dilakukan pada ponsel.

switchVoiceId

Mengubah suara.

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

Parameter

Tipe

Deskripsi

voiceId

string

ID suara.

mute

Mematikan atau menghidupkan mikrofon.

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

Parameter

Tipe

Deskripsi

mute

boolean

Menentukan apakah akan mematikan mikrofon.

muteAgentAudioPlaying

Mematikan atau menghidupkan output audio Agen.

muteAgentAudioPlaying(mute: boolean)

Parameter

Tipe

Deskripsi

mute

boolean

Menentukan apakah akan mematikan output audio agen.

startPushToTalk

Memulai berbicara dalam mode push-to-talk.

startPushToTalk() :boolean;

finishPushToTalk

Menyelesaikan berbicara dalam mode push-to-talk.

finishPushToTalk() :boolean;

cancelPushToTalk

Membatalkan berbicara dalam mode push-to-talk.

cancelPushToTalk() :boolean;

enablePushToTalk

Mengaktifkan atau menonaktifkan mode push-to-talk. Dalam mode push-to-talk, Agen hanya memberikan hasil setelah operasi finishPushToTalk dipanggil.

enablePushToTalk(enable: boolean):boolean;

Parameter

Tipe

Deskripsi

enable

Bool

Menentukan apakah akan mengaktifkan mode push-to-talk.

getRTCInstance

Meminta informasi tentang instance mesin RTC.

getRTCInstance(): AliRtcEngine | undefined

sendTextToAgent

Mengirim pesan teks ke Agen.

sendTextToAgent(req: AICallSendTextToAgentRequest);

Parameter

Tipe

Deskripsi

req

AICallSendTextToAgentRequest

Struktur pesan untuk dikirim.

sendCustomMessageToServer

Mengirim pesan kustom ke AppServer. Panggil operasi ini setelah sesi panggilan dimulai.

sendCustomMessageToServer(msg: string)

Parameter

Tipe

Deskripsi

msg

string

Konten pesan.

updateLlmSystemPrompt

Memperbarui prompt sistem untuk LLM. Panggil operasi ini setelah sesi panggilan dimulai.

updateLlmSystemPrompt(prompt: string)

Parameter

Tipe

Deskripsi

prompt

string

Prompt.

startVisionCustomCapture

Memulai penangkapan frame kustom. Setelah dimulai, komunikasi suara dengan Agen visual akan dinonaktifkan. Panggil operasi ini setelah memulai panggilan dengan Agen visual.

startVisionCustomCapture(req: AICallVisionCustomCaptureRequest)

Parameter

Tipe

Deskripsi

req

AICallVisionCustomCaptureRequest

Konfigurasi.

{
  /**
   * Parameter teks saat meminta model besar multimodal.
   */
  text?: string;

  /**
   * true: penangkapan frame satu kali
   * false: penangkapan frame reguler
   */
  isSingle?: boolean;

  /**
   * Interval penangkapan frame.
   * Nilai default: 5s
   */
  eachDuration?: number;

  /**
   * Jumlah gambar yang ditangkap setiap kali.
   * Nilai default: 2
   */
  num?: number;

  /**
   * Durasi penangkapan frame. Satuan: detik.
   */
  duration?: number;

  /**
   * Informasi bisnis kustom dalam format JSON, yang dikirim bersama dengan teks dan frame ke LLM untuk diproses.
   */
  userData?: string;
}

stopVisionCustomCapture

Mengakhiri penangkapan frame kustom. Panggil operasi ini setelah memulai panggilan dengan Agen visual.

stopVisionCustomCapture()

destroy

Melepaskan sumber daya.

async destroy()

Peristiwa ARTCAICallEngine

errorOccurred

Telah terjadi kesalahan selama panggilan saat ini.

Parameter

Tipe

Deskripsi

code

AICallErrorCode

Kode kesalahan.

callBegin

Panggilan telah dimulai.

callEnd

Panggilan telah berakhir.

agentStateChanged

Status Agen telah berubah.

Parameter

Tipe

Deskripsi

state

AICallAgentState

Status agen. Bisa mendengarkan, berpikir, atau berbicara.

speakingVolumeChanged

Volume telah berubah.

Parameter

Tipe

Deskripsi

uid

string

UID pembicara saat ini. Nilainya adalah string kosong jika pembicara adalah pengguna saat ini.

volume

Int32

Volume. Nilai valid: 0 hingga 100.

userSubtitleNotify

Agen mengenali pertanyaan pengguna.

Parameter

Tipe

Deskripsi

subtitle

AICallSubtitleData

Subtitle.

agentSubtitleNotify

Agen memberikan jawaban.

Parameter

Tipe

Deskripsi

subtitle

AICallSubtitleData

Subtitle.

voiceIdChanged

Suara Agen telah berubah.

Parameter

Tipe

Deskripsi

voiceId

string

ID suara.

pushToTalkChanged

Mode push-to-talk telah berubah.

Parameter

Tipe

Deskripsi

enable

boolean

Menunjukkan apakah mode push-to-talk diaktifkan.

agentWillLeave

Agen akan mengakhiri panggilan saat ini.

Parameter

Tipe

Deskripsi

reason

number

Alasan mengapa agen meninggalkan. Nilai valid:

  • 2001: batas waktu idle.

  • 0: alasan lainnya.

message

string

Deskripsi alasan.

receivedAgentCustomMessage

Pesan kustom telah diterima dari Agen saat ini.

Parameter

Tipe

Deskripsi

data

Object

Konten pesan.

voiceInterruptChanged

Status interupsi suara telah berubah.

Parameter

Tipe

Deskripsi

enable

boolean

Menunjukkan apakah interupsi suara diaktifkan untuk panggilan saat ini.

humanTakeoverWillStart

Agen manusia akan masuk untuk mengambil alih dari Agen saat ini.

Parameter

Tipe

Deskripsi

takeoverUid

string

UID agen manusia.

takeoverMode

number

Mode pengambilalihan. Nilai valid:

  • 1: Agen manusia akan mengambil alih menggunakan suara manusia.

  • 0: Agen manusia akan mengambil alih menggunakan suara agen.

humanTakeoverConnected

Agen manusia telah mengambil alih dari Agen saat ini.

Parameter

Tipe

Deskripsi

takeoverUid

string

UID agen manusia.

agentEmotionNotify

Agen mendeteksi emosi.

Parameter

Tipe

Deskripsi

emotion

string

Tag emosi, seperti netral, bahagia, marah, atau sedih.

userAsrSentenceId

number

ID kalimat yang menjadi bagian dari pertanyaan pengguna yang dikenali oleh agen.

agentDataChannelAvailable

Saluran data Agen siap digunakan. Setelah callback ini dipanggil, Anda dapat mengirim pesan ke Agen.