All Products
Search
Document Center

Intelligent Media Services:Detail operasi API

Last Updated:Jun 18, 2026

Topik ini menjelaskan operasi API dari kit pengembangan perangkat lunak (SDK) Web.

Ikhtisar API

Catatan

Versi SDK sebelumnya berisi parameter dan metode yang sudah tidak digunakan lagi. Tingkatkan SDK ke versi terbaru. Untuk informasi selengkapnya, lihat Panduan penggunaan Web SDK.

Kelas/Protokol

API

Deskripsi

ARTCAICallEngine

Menentukan operasi API mesin.

call

Memulai panggilan.

handup

Menutup panggilan.

Catatan

Panggil handup untuk menutup panggilan sebelum halaman keluar, misalnya dengan mendengarkan event beforeunload. Jika tidak, agen akan menunggu sekitar 90 detik sebelum keluar. Hal ini dapat menyebabkan masalah seperti melebihi batas konkuren untuk manusia digital.

setAgentView

Menetapkan tampilan rendering agen.

setLocalView

Menetapkan tampilan pratinjau lokal.

interruptSpeaking

Menginterupsi ucapan agen.

enableVoiceInterrupt

Mengaktifkan atau menonaktifkan interupsi cerdas.

muteLocalCamera

Mengaktifkan atau menonaktifkan dorongan kamera.

switchCamera

Beralih kamera.

switchVoiceId

Beralih suara.

mute

Mematikan atau menghidupkan mikrofon.

muteAgentAudioPlaying

Menghentikan atau melanjutkan pemutaran aliran audio agen.

startPushToTalk

Memulai berbicara dalam mode push-to-talk.

finishPushToTalk

Menyelesaikan berbicara dalam mode push-to-talk.

cancelPushToTalk

Membatalkan ucapan saat ini dalam mode push-to-talk.

enablePushToTalk

Mengaktifkan atau menonaktifkan mode push-to-talk. Dalam mode push-to-talk, agen hanya melaporkan hasil setelah finishPushToTalk dipanggil.

getRTCInstance

Mendapatkan mesin Alibaba Real-Time Communication (ARTC).

sendTextToAgent

Mengirim pesan teks ke agen.

sendCustomMessageToServer

Mengirim pesan kustom ke server.

updateLlmSystemPrompt

Memperbarui prompt sistem Large Language Model (LLM).

updateVcrConfig

Memperbarui konfigurasi VCR.

updateBailianAppParams

Memperbarui parameter aplikasi Model Studio.

startVisionCustomCapture

Untuk agen pemahaman visual, memulai penangkapan bingkai kustom. Setelah ini dimulai, Anda tidak dapat berbicara dengan agen melalui suara.

stopVisionCustomCapture

Untuk agen pemahaman visual, menghentikan penangkapan bingkai kustom.

destroy

Melepaskan sumber daya.

ARTCAICallEngine

Event callback mesin

errorOccurred

Telah terjadi kesalahan.

callBegin

Panggilan dimulai.

callEnd

Panggilan berakhir.

agentStateChange

Status agen berubah.

speakingVolumeChanged

Volume berubah.

userSubtitleNotify

Notifikasi untuk hasil pengenalan pertanyaan pengguna oleh agen.

agentSubtitleNotify

Notifikasi untuk jawaban agen.

voiceIdChanged

Suara panggilan saat ini berubah.

pushToTalkChanged

Mode push-to-talk berubah.

agentWillLeave

Agen saat ini akan meninggalkan (mengakhiri panggilan saat ini).

receivedAgentCustomMessage

Pesan kustom diterima dari agen saat ini.

voiceInterruptChanged

Interupsi suara untuk panggilan saat ini diaktifkan atau dinonaktifkan.

humanTakeoverWillStart

Agen langsung akan mengambil alih dari agen saat ini.

humanTakeoverConnected

Pengambilalihan oleh agen langsung telah terhubung.

agentDataChannelAvailable

Callback untuk ketersediaan saluran pesan agen.

receivedAgentVcrResult

Hasil VCR diterima dari agen saat ini.

Detail API

Rincian ARTCAICallEngine

call

Memulai panggilan.

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

Parameter:

Parameter

Tipe

Deskripsi

userId

String

UID pengguna saat ini.

agentInfo

AICallAgentInfo

Informasi agen.

config

AICallEngineConfig

Konfigurasi inisialisasi. Tipe didefinisikan sebagai berikut:

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

handup

Mengakhiri panggilan.

async handup(): Promise<void>

setAgentView

Menetapkan tampilan rendering agen.

setAgentView(view: HTMLVideoElement | string): void

Parameter:

Parameter

Tipe

Deskripsi

view

HTMLVideoElement | string

Tag video atau ID-nya.

setLocalView

Menetapkan tampilan pratinjau lokal.

setLocalView(view?: HTMLVideoElement | string): void

Parameter:

Parameter

Tipe

Deskripsi

view

HTMLVideoElement | string

Tag video atau ID-nya. Jika Anda tidak meneruskan parameter ini, pratinjau akan berhenti.

interruptSpeaking

Menginterupsi ucapan Agen.

async interruptSpeaking(): Promise<void>

enableVoiceInterrupt

Mengaktifkan atau menonaktifkan interupsi cerdas.

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

Parameter:

Parameter

Tipe

Deskripsi

enable

boolean

Mengaktifkan atau menonaktifkan fitur tersebut.

muteLocalCamera

Mengaktifkan atau menonaktifkan pengiriman aliran kamera lokal.

async muteLocalCamera(mute: boolean)

Parameter:

Parameter

Tipe

Deskripsi

mute

boolean

Menentukan apakah kamera dimatikan.

switchCamera

Beralih kamera.

async switchCamera(deviceId?: string)

Parameter:

Parameter

Tipe

Deskripsi

deviceId

string

ID perangkat. Anda dapat mendapatkan ID tersebut dengan memanggil ARTCAICallEngine.getCameraList(). Jika Anda tidak meneruskan parameter ini pada perangkat seluler, sistem akan beralih antara kamera depan dan belakang.

switchVoiceId

Beralih suara.

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

Parameter:

Parameter

Tipe

Deskripsi

voiceId

string

ID suara.

mute

Mematikan atau menghidupkan mikrofon.

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

Parameter:

Parameter

Tipe

Deskripsi

mute

boolean

Mematikan atau mengaktifkan mikrofon.

muteAgentAudioPlaying

Menghentikan atau melanjutkan pemutaran aliran audio agen.

muteAgentAudioPlaying(mute: boolean)

Parameter:

Parameter

Tipe

Deskripsi

mute

boolean

Menentukan apakah audio dimatikan.

startPushToTalk

Dalam mode push-to-talk, memulai berbicara.

startPushToTalk() :boolean;

finishPushToTalk

Dalam mode push-to-talk, menyelesaikan berbicara.

finishPushToTalk() :boolean;

cancelPushToTalk

Dalam mode push-to-talk, membatalkan ucapan saat ini.

cancelPushToTalk() :boolean;

enablePushToTalk

Mengaktifkan atau menonaktifkan mode push-to-talk. Ketika mode ini diaktifkan, agen hanya mengirim hasil pengenalan setelah finishPushToTalk dipanggil.

enablePushToTalk(enable: boolean):boolean;

Parameter:

Parameter

Tipe

Deskripsi

enable

Bool

Menonaktifkan atau mengaktifkan mode.

getRTCInstance

Mengambil instans mesin ARTC.

getRTCInstance(): AliRtcEngine | undefined

sendTextToAgent

Mengirim pesan teks ke Agen.

sendTextToAgent(req: AICallSendTextToAgentRequest);

Parameter:

Parameter

Tipe

Deskripsi

req

AICallSendTextToAgentRequest

Struktur pesan untuk dikirim.

new AICallSendTextToAgentRequest(text)

sendCustomMessageToServer

Mengirim pesan kustom ke server. Metode ini harus dipanggil setelah panggilan terhubung.

sendCustomMessageToServer(msg: string)

Parameter:

Parameter

Tipe

Deskripsi

msg

string

Konten yang akan dikirim.

updateLlmSystemPrompt

Memperbarui prompt sistem Large Language Model (LLM). Metode ini harus dipanggil setelah panggilan terhubung.

updateLlmSystemPrompt(prompt: string)

Parameter:

Parameter

Tipe

Deskripsi

prompt

string

Prompt.

updateVcrConfig

Memperbarui konfigurasi VCR.

 public updateVcrConfig(vcrConfig: AICallAgentVcrConfig)

Parameter:

Parameter

Tipe

Deskripsi

vcrConfig

AICallAgentVcrConfig

Konfigurasi VCR.

updateBailianAppParams

Memperbarui parameter aplikasi Model Studio.

public updateBailianAppParams(params: JSONObject)

Parameter:

Parameter

Tipe

Deskripsi

params

object

Parameter aplikasi Model Studio.

startVisionCustomCapture

Untuk agen pemahaman visual, metode ini memulai penangkapan bingkai kustom. Setelah metode ini dipanggil, interaksi suara dengan agen dinonaktifkan. Metode ini harus dipanggil setelah panggilan terhubung.

startVisionCustomCapture(req: AICallVisionCustomCaptureRequest)

Parameter:

Parameter

Tipe

Deskripsi

req

AICallVisionCustomCaptureRequest

Informasi konfigurasi.

{
  /**
   * Parameter teks untuk permintaan ke model besar multimodal.
   */
  text?: string;

  /**
   * Jika disetel ke true, satu bingkai ditangkap, dan sistem langsung keluar dari status penangkapan bingkai kustom.
   * Jika disetel ke false, bingkai ditangkap secara terus-menerus, dan sistem keluar dari status penangkapan bingkai kustom setelah durasi yang ditentukan.
   */
  isSingle?: boolean;

  /**
   * Interval penangkapan bingkai.
   * Default: 5 detik.
   */
  eachDuration?: number;

  /**
   * Jumlah citra yang ditangkap setiap kali.
   * Default: 2.
   */
  num?: number;

  /**
   * Durasi penangkapan bingkai terus-menerus dalam detik. Parameter ini diabaikan jika isSingle bernilai true. Jika tidak, status penangkapan bingkai kustom berakhir ketika durasi yang ditentukan tercapai.
   */
  duration?: number;

  /**
   * String JSON yang berisi informasi bisnis kustom. Informasi ini dikirim ke model besar bersama dengan teks dan bingkai citra untuk pemrosesan bisnis.
   */
  userData?: string;
}

stopVisionCustomCapture

Untuk agen pemahaman visual, menghentikan penangkapan bingkai kustom. Metode ini harus dipanggil setelah panggilan terhubung.

stopVisionCustomCapture()

destroy

Melepaskan sumber daya.

async destroy()

Detail event ARTCAICallEngine

errorOccurred

Menunjukkan bahwa terjadi kesalahan selama panggilan.

Parameter:

Parameter

Tipe

Deskripsi

code

AICallErrorCode

Jenis kesalahan.

callBegin

Menunjukkan bahwa panggilan telah dimulai.

callEnd

Menunjukkan bahwa panggilan telah berakhir.

agentStateChange

Menunjukkan bahwa status agen telah berubah.

Parameter:

Parameter

Tipe

Deskripsi

state

AICallAgentState

Status saat ini dari agen: Listening, Thinking, atau Speaking.

speakingVolumeChanged

Menunjukkan perubahan volume berbicara.

Parameter:

Parameter

Tipe

Deskripsi

uid

string

UID pembicara. String kosong menunjukkan pengguna saat ini.

volume

Int32

Volume. Rentang: 0 hingga 100.

userSubtitleNotify

Memberikan hasil pengenalan ucapan agen untuk input pengguna.

Parameter:

Parameter

Tipe

Deskripsi

subtitle

AICallSubtitleData

Informasi takarir.

agentSubtitleNotify

Memberikan teks tanggapan agen.

Parameter:

Parameter

Tipe

Deskripsi

subtitle

AICallSubtitleData

Informasi takarir.

voiceIdChanged

Menunjukkan bahwa suara panggilan saat ini telah berubah.

Parameter:

Parameter

Tipe

Deskripsi

voiceId

string

ID suara saat ini.

pushToTalkChanged

Menunjukkan bahwa mode push-to-talk telah berubah.

Parameter:

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah mode diaktifkan.

agentWillLeave

Menunjukkan bahwa agen akan mengakhiri panggilan.

Parameter:

Parameter

Tipe

Deskripsi

reason

number

Alasan keluar: 2001 (waktu idle habis) atau 0 (lainnya).

message

string

Deskripsi alasan keluar.

receivedAgentCustomMessage

Menunjukkan bahwa pesan kustom diterima dari agen.

Parameter:

Parameter

Tipe

Deskripsi

data

Object

Konten pesan.

voiceInterruptChanged

Menunjukkan bahwa interupsi suara untuk panggilan saat ini diaktifkan atau dinonaktifkan.

Parameter:

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah fitur diaktifkan.

humanTakeoverWillStart

Menunjukkan bahwa agen langsung akan mengambil alih panggilan.

Parameter:

Parameter

Tipe

Deskripsi

takeoverUid

string

UID agen langsung.

takeoverMode

number

1: Output menggunakan suara agen langsung. 0: Output menggunakan suara agen.

humanTakeoverConnected

Menunjukkan bahwa agen langsung telah terhubung dan mengambil alih panggilan.

Parameter:

Parameter

Tipe

Deskripsi

takeoverUid

string

UID agen langsung.

agentEmotionNotify

Memberikan hasil analisis emosi agen.

Parameter:

Parameter

Tipe

Deskripsi

emotion

string

Label emosi, seperti neutral, happy, angry, atau sad.

userAsrSentenceId

number

ID kalimat dari jawaban atas pertanyaan pengguna.

agentDataChannelAvailable

Callback ini dipicu ketika saluran pesan agen tersedia. Setelah callback ini dipicu, Anda dapat mulai mengirim pesan ke agen.

receivedAgentVcrResult

Menunjukkan bahwa hasil VCR diterima dari agen. Untuk informasi selengkapnya, lihat AICallAgentVcrResult.

receivedAgentVcrResult: (result: AICallAgentVcrResult) => void;

Parameter:

Parameter

Tipe

Deskripsi

result

AICallAgentVcrResult

Hasil VCR.