All Products
Search
Document Center

ApsaraVideo Live:Antarmuka AliRtcEngine

Last Updated:Mar 15, 2026

Topik ini menjelaskan API dalam SDK ApsaraVideo Real-time Communication untuk Android.

Daftar Isi

Antarmuka Dasar

API

Description

getInstance[1/2]

Buat instans AliRtcEngine menggunakan pola singleton.

getInstance[2/2]

Buat instans AliRtcEngine (pola singleton).

hapus[1/2]

Hapus objek AliRtcEngine.

destroy[2/2]

Hapus objek AliRtcEngine.

setH5CompatibleMode

Aktifkan mode kompatibilitas HTML5.

getH5CompatibleMode

Periksa apakah lingkungan saat ini kompatibel dengan HTML5.

setRtcEngineEventListener

Tetapkan pendengar untuk event callback perilaku pengguna lokal.

setRtcEngineNotify

Tetapkan pendengar untuk event notifikasi mengenai perilaku pengguna remote.

getSdkVersion

Kueri versi SDK saat ini.

Metode terkait channel

API

Deskripsi

setChannelProfile

Mengatur mode channel.

setAudioProfile

Mengatur mode pengkodean audio dan skenario.

isAudioOnly

Memeriksa apakah mode hanya audio diaktifkan.

setAudioOnlyMode

Mengatur ke mode hanya audio atau mode audio-video.

joinChannel[1/3]

Bergabung ke channel.

joinChannel[2/3]

Bergabung ke channel.

joinChannel[3/3]

Bergabung ke channel.

leaveChannel

Meninggalkan saluran.

isInCall

Memeriksa apakah Anda berada di dalam channel.

setClientRole

Mengatur role pengguna.

getCurrentClientRole

Mendapatkan role pengguna.

refreshAuthInfo[1/2]

Me-refresh informasi autentikasi.

refreshAuthInfo[2/2]

Segarkan informasi otentikasi.

Metode terkait penerbitan dan subscription

API

Deskripsi

publishLocalAudioStream

Menghentikan atau melanjutkan penerbitan aliran video lokal. Penerbitan diaktifkan secara default.

isLocalAudioStreamPublished

Menanyakan apakah aliran audio sedang diterbitkan.

setDefaultSubscribeAllRemoteAudioStreams

Menentukan apakah akan berlangganan Track audio pengguna remote. Secara default, semua Track audio remote telah berlangganan. Panggil metode ini sebelum bergabung ke channel.

subscribeRemoteAudioStream

Menghentikan atau melanjutkan penarikan aliran audio dari pengguna remote tertentu.

subscribeAllRemoteAudioStreams

Menghentikan atau melanjutkan penerimaan aliran audio dari semua pengguna remote.

publishLocalVideoStream

Menentukan apakah akan mendorong aliran video lokal. SDK melakukan dorong secara default.

isLocalVideoStreamPublished

Menanyakan apakah aliran video sedang diterbitkan.

setDefaultSubscribeAllRemoteVideoStreams

Menentukan apakah akan berlangganan aliran video pengguna remote. Secara default, semua aliran video remote telah berlangganan. Panggil metode ini sebelum bergabung ke channel.

subscribeRemoteVideoStream

Menghentikan atau melanjutkan subscription terhadap aliran video remote tertentu.

subscribeAllRemoteVideoStreams

Menghentikan atau melanjutkan penerimaan semua aliran video remote.

subscribeRemoteMediaStream[1/2]

Berlangganan atau berhenti berlangganan aliran media dari pengguna remote tertentu. Panggil metode ini ketika Track audio dan video keduanya tersedia dan memerlukan manajemen.

subscribeRemoteMediaStream[2/2]

Menghentikan atau melanjutkan aliran media dari pengguna remote tertentu. Gunakan API ini ketika audio dan video keduanya tersedia dan memerlukan kontrol.

subscribeRemoteDestChannelStream

Menghentikan atau melanjutkan aliran media dari pengguna remote tertentu lintas channel.

subscribeRemoteDestChannelAllStream

Menghentikan atau melanjutkan subscription aliran untuk semua pengguna lintas channel.

setRemoteAudioVolume

Menyesuaikan volume pemutaran penarikan aliran.

Metode terkait management perangkat audio

API

Description

muteLocalMic

Menentukan apakah akan menghentikan publikasi audio lokal.

muteRemoteAudioPlaying

Mengatur apakah akan menghentikan pemutaran aliran audio remote.

muteAllRemoteAudioPlaying

Menghentikan atau melanjutkan semua pemutaran audio remote.

startAudioCapture[1/2]

Memulai pengumpulan audio.

startAudioCapture[2/2]

Memulai pengumpulan audio.

stopAudioCapture

Mematikan pengambilan audio.

setDefaultAudioRoutetoSpeakerphone

Mengatur perangkat output audio default.

enableSpeakerphone

Mengatur output audio ke earpiece atau speaker.

isSpeakerOn

Menanyakan apakah perangkat output audio saat ini adalah earpiece atau speaker.

enableAudioVolumeIndication

Mengaktifkan deteksi volume.

enableEarBack

Mengaktifkan pemantauan in-ear.

setEarBackVolume

Mengatur volume pemantauan in-ear.

startAudioPlayer

Mengaktifkan perangkat pemutaran audio.

stopAudioPlayer

Mematikan perangkat pemutaran audio.

setPlayoutVolume

Mengatur volume pemutaran lokal.

setRecordingVolume

Mengatur volume perekaman.

playAudioFileTest

Memutar file audio.

stopAudioFileTest

Menghentikan pemutaran file audio.

startAudioCaptureTest

Mengaktifkan pendeteksian perangkat audio sebelum panggilan.

stopAudioCaptureTest

Mematikan deteksi pengambilan audio.

Metode yang terkait dengan perubahan suara dan gema

API

Deskripsi

setAudioEffectVoiceChangerMode

Mengatur mode efek suara perubahan voice.

setAudioEffectPitchValue

Mengatur parameter pitch.

setAudioEffectReverbMode

Mengatur mode reverberasi.

setAudioEffectReverbParamType

Mengatur mode reverberasi beserta parameternya.

setAudioEffectBeautifyMode

Mengatur pola preset efek suara peningkatan kualitas voice.

setAudioEffectEqualizationParam

Mengatur parameter equalizer audio (EQ) untuk menyesuaikan gain pada rentang frekuensi tertentu.

Custom audio input

API

Description

addExternalAudioStream

Tambahkan aliran audio eksternal.

pushExternalAudioStreamRawData

Input data aliran audio eksternal.

setExternalAudioStreamPublishVolume

Atur volume audio eksternal untuk pengambilan aliran.

getExternalAudioStreamPublishVolume

Kueri volume audio eksternal untuk pengambilan aliran.

setExternalAudioStreamPlayoutVolume

Atur volume pemutaran aliran audio eksternal.

getExternalAudioStreamPlayoutVolume

Dapatkan volume pemutaran aliran audio eksternal.

removeExternalAudioStream

Hapus aliran audio eksternal.

Iringan musik

API

Deskripsi fitur

getAudioFileInfo

Dapatkan informasi file audio.

startAudioAccompany

Mulai pencampuran audio iringan.

stopAudioAccompany

Hentikan pencampuran accompaniment.

setAudioAccompanyVolume

Mengatur volume iringan untuk pemutaran lokal maupun pengambilan aliran.

setAudioAccompanyPublishVolume

Atur volume accompaniment untuk pengambilan aliran.

getAudioAccompanyPublishVolume

Dapatkan volume pengambilan aliran pendamping.

setAudioAccompanyPlayoutVolume

Atur volume pemutaran lokal untuk accompaniment.

getAudioAccompanyPlayoutVolume

Dapatkan volume pemutaran iringan lokal.

pauseAudioAccompany

Jeda pencampuran iringan.

resumeAudioAccompany

Mulai ulang pencampuran iringan.

getAudioAccompanyDuration

Dapatkan durasi file accompaniment, dalam milidetik.

getAudioAccompanyCurrentPosition

Dapatkan progres pemutaran file accompaniment, dalam milidetik.

setAudioAccompanyPosition

Atur posisi pemutaran file accompaniment.

File Efek Suara

API

Description

preloadAudioEffect

Memuat efek suara sebelumnya.

unloadAudioEffect

Menghapus file efek suara yang telah dipraload.

playAudioEffect

Memulai pemutaran efek suara.

stopAudioEffect

Menghentikan pemutaran efek suara.

stopAllAudioEffects

Menghentikan pemutaran semua efek suara.

pauseAudioEffect

Menghentikan sementara pemutaran efek suara.

pauseAllAudioEffects

Menghentikan sementara pemutaran semua efek suara.

resumeAudioEffect

Melanjutkan pemutaran efek suara.

resumeAllAudioEffects

Kembalikan semua file efek suara.

setAudioEffectPublishVolume

Atur volume efek suara untuk pengambilan aliran.

getAudioEffectPublishVolume

Mendapatkan volume mixing efek suara untuk pengambilan aliran.

setAllAudioEffectsPublishVolume

Atur volume semua efek suara untuk pengambilan aliran.

setAudioEffectPlayoutVolume

Atur volume efek suara untuk pemutaran lokal.

getAudioEffectPlayoutVolume

Kueri volume efek suara untuk pemutaran lokal.

setAllAudioEffectsPlayoutVolume

Mengatur volume semua efek suara untuk pemutaran lokal.

Rekam file audio dan video

API

Deskripsi fitur

startRecord

Merekam file audio dan video (aac, wav, mp4).

stopRecord

Hentikan perekaman file audio/video.

Metode terkait management perangkat video

API

Description

createRenderSurfaceView

Membuat tampilan rendering SurfaceView.

setLocalViewConfig

Mengatur jendela rendering dan parameter drawing untuk pratinjau lokal.

setRemoteViewConfig

Mengatur jendela rendering dan parameter drawing untuk video remote.

setCameraCapturerConfiguration

Mengatur preferensi pengambilan kamera.

enableLocalVideo

Menonaktifkan atau mengaktifkan kembali pengambilan video lokal.

muteLocalCamera

Menentukan apakah akan menghentikan penerbitan aliran video lokal.

isCameraOn

Memeriksa apakah kamera dalam keadaan menyala.

setVideoEncoderConfiguration

Mengatur properti pengkodean video.

setVideoDecoderConfiguration

Mengatur properti decoding video.

switchCamera

Beralih antara kamera depan dan belakang. Secara default, kamera depan digunakan.

getCurrentCameraDirection

Menanyakan arah kamera saat ini.

startPreview

Memulai pratinjau lokal.

stopPreview

Menghentikan pratinjau lokal.

setCameraZoom

Mengatur rasio penskalaan kamera.

GetCameraMaxZoomFactor

Mendapatkan rasio zoom maksimum kamera.

GetCurrentZoom

Mendapatkan pengaturan penskalaan kamera saat ini.

SetExposure

Mengatur eksposur kamera.

GetCurrentExposure

Mendapatkan eksposur kamera.

GetMinExposure

Mendapatkan eksposur minimum yang didukung oleh kamera.

GetMaxExposure

Mendapatkan eksposur maksimum yang didukung oleh kamera.

setCameraFlash

Mengatur toggle flash kamera.

isCameraFocusPointSupported

Menunjukkan apakah perangkat mendukung fokus manual.

setCameraFocusPoint

Mengatur titik fokus manual kamera.

isCameraExposurePointSupported

Menentukan apakah kamera mendukung pengaturan titik eksposur.

setCameraExposurePoint

Mengatur titik eksposur kamera.

isCameraAutoFocusFaceModeSupported

Menentukan apakah kamera secara otomatis memfokuskan pada wajah.

setCameraAutoFocusFaceModeEnabled

Mengatur fokus wajah kamera.

setVideoMirrorMode

Mengatur pencerminan video untuk pratinjau dan pengambilan aliran.

setCapturePipelineScaleMode

Mengatur waktu penskalaan pengambilan video.

Metode yang terkait dengan callback data video

API

Deskripsi fitur

registerVideoSampleObserver

Mendaftarkan objek output data video.

unRegisterVideoSampleObserver

Membatalkan pendaftaran objek output data video.

registerLocalVideoTextureObserver

Mendaftarkan observer untuk data texture OpenGL aliran video Kamera lokal.

unRegisterLocalVideoTextureObserver

Membatalkan pendaftaran observer data texture OpenGL untuk aliran video Kamera lokal.

snapshotVideo

Fitur Snapshot video.

Metode yang terkait dengan callback audio data

API

Deskripsi Fitur

registerAudioVolumeObserver

Daftarkan objek output data volume.

unRegisterAudioVolumeObserver

Batalkan pendaftaran objek Outputs data volume.

enableAudioFrameObserver

Atur parameter callback audio.

registerAudioFrameObserver

Daftarkan callback audio data.

Masukan video tersesuaikan

API

Deskripsi

setExternalVideoSource

Mengaktifkan sumber input video eksternal.

pushExternalVideoFrame

Mengimpor data video eksternal.

Metode terkait berbagi layar

API

Deskripsi fitur

startScreenShare

Aktifkan pengambilan aliran berbagi layar.

startScreenShare

Mulai berbagi layar dan aliran audio.

Catatan

Antarmuka ini akan segera ditinggalkan.

startScreenShare

Mulai berbagi layar.

Catatan

API ini akan segera ditinggalkan.

stopScreenShare

Hentikan aliran berbagi layar.

setAudioShareVolume

Atur volume aliran audio yang dibagikan.

isScreenSharePublished

Kueri apakah aliran berbagi layar sedang didorong.

setScreenShareEncoderConfiguration

Atur properti pengkodean video aliran layar.

Live Streaming Bypass Interface

API

Description

startPublishLiveStream

Mulai live streaming yang direlay.

updatePublishLiveStream

Perbarui parameter untuk live streaming yang direlay.

stopPublishLiveStream

Hentikan live streaming bypass.

getPublishLiveStreamState

Kueri status live streaming yang direlay.

Network quality probe API

API

Description

startNetworkQualityProbeTest

Mulai pengujian kualitas jaringan.

stopNetworkQualityProbeTest

Hentikan pengujian kualitas jaringan.

SEI

API

Deskripsi fitur

sendMediaExtensionMsg

Dorong aliran SEI.

sendMediaExtensionMsgEx

Dorong aliran SEI (ekstensi).

Other APIs

API

Description

setParameter

Mengatur parameter kustom.

getParameter

Mendapatkan parameter kustom.

setLogDirPath

Mengatur path penyimpanan untuk file log SDK.

setLogLevel

Mengatur tingkat log.

setDeviceOrientationMode

Mengatur orientasi perangkat.

requestAudioFocus

Meminta fokus audio.

abandonAudioFocus

Melepaskan fokus audio.

getNetworkTime

Mendapatkan waktu jaringan saat ini.

sendDataChannelMsg

Mengirim pesan kustom melalui data channel.

Metode AliveEnv

API

Deskripsi fitur

setGlobalEnvironment

Tetapkan environment global.

Callbacks

AliRtcEngineEventListener

API

Deskripsi fitur

onConnectionStatusChange

Callback status koneksi jaringan. Perhatikan callback ini.

OnLocalDeviceException

Callback untuk abnormalitas perangkat lokal. Pelanggan harus menangani callback ini.

onJoinChannelResult

Callback untuk hasil bergabung ke channel.

onLeaveChannelResult

Callback hasil meninggalkan channel.

onAudioPublishStateChanged

Callback untuk perubahan pengambilan aliran audio.

onAudioSubscribeStateChanged

Callback untuk perubahan status subscription audio.

onVideoPublishStateChanged

Callback perubahan pengambilan aliran video.

onVideoSubscribeStateChanged

Callback untuk perubahan subscription aliran kamera.

onPublishLiveStreamStateChanged

Callback perubahan status pengambilan aliran bypass.

onPublishTaskStateChanged

Callback saat status task bypass berubah.

onNetworkQualityChanged

Callback perubahan kualitas jaringan.

onNetworkQualityProbeTest

Callback untuk deteksi kualitas jaringan. Callback ini dipicu sekitar 3 detik setelah deteksi dimulai.

onNetworkQualityProbeTestResult

Callback untuk hasil deteksi kualitas jaringan. Callback ini diberikan sekitar 30 detik setelah deteksi dimulai.

onSnapshotComplete

Antarmuka callback hasil screenshot.

onScreenSharePublishStateChanged

Callback untuk perubahan pengambilan aliran screen sharing.

onScreenShareSubscribeStateChanged

Callback untuk perubahan subscription aliran screen sharing.

onOccurError

Notifikasi kesalahan.

OnLocalAudioStateChanged

Callback status perangkat audio lokal.

AliRtcEngineNotify

API

Deskripsi fitur

onAuthInfoWillExpire

Notifikasi ini menunjukkan bahwa otentikasi pengguna akan kedaluwarsa dalam 30 detik. Pelanggan harus menangani callback ini.

onAuthInfoExpired

Pengguna memanggil antarmuka yang memerlukan otentikasi, dan sisi server mengembalikan informasi kedaluwarsa.

onRemoteUserOffLineNotify

Notifikasi pengguna remote offline.

onRemoteUserOnLineNotify

Notifikasi pengguna remote online.

onRemoteTrackAvailableNotify

Notifikasi untuk pengambilan aliran remote.

onBye

Pesan bahwa Anda dikeluarkan dari server atau channel pertemuan telah ditutup.

onUserAudioMuted

Notifikasi bahwa pengguna remote dimute.

onUserAudioInterruptedBegin

Perangkat audio mengganggu notifikasi awal.

onUserAudioInterruptedEnded

Notifikasi selesainya gangguan perangkat audio.

onUserVideoMuted

Pengguna peer mengirim notifikasi mengenai data frame hitam video.

onUserVideoEnabled

Mengirim notifikasi ketika pengguna peer menghentikan pengambilan aliran kamera.

onUserWillResignActive

Aplikasi pengguna remote berpindah ke latar belakang.

onUserWillBecomeActive

Aplikasi pengguna remote kembali ke latar depan.

onAudioEffectFinished

Callback saat pemutaran efek suara lokal berakhir.

onAudioFileInfo

Callback informasi file audio.

onMediaExtensionMsgReceived

Menerima callback berisi informasi ekstensi media.

onFirstRemoteVideoFrameDrawn

Pesan ini dipicu ketika frame video pertama muncul untuk pengguna remote.

onFirstLocalVideoFrameDrawn

Pesan ini dipicu ketika pratinjau mulai menampilkan frame video pertama.

onFirstVideoFrameReceived

Callback saat menerima frame video pertama dari pengguna remote.

onFirstVideoPacketSent

Callback saat paket video pertama dikirim.

onFirstAudioPacketSent

Callback saat paket audio pertama dikirim.

onFirstVideoPacketReceived

Callback saat menerima paket video pertama.

onFirstAudioPacketReceived

Callback penerimaan paket audio pertama.

onFirstRemoteAudioDecoded

Callback untuk frame audio remote pertama yang didekodekan.

onAudioAccompanyStateChanged

Callback status pemutaran iringan lokal.

onRemoteAudioAccompanyStarted

Pemutaran iringan pengguna remote dimulai.

onRemoteAudioAccompanyFinished

Callback akhir pemutaran iringan pengguna remote.

onAliRtcStats

Callback data Real-time (dipicu setiap 2 detik).

onRtcLocalVideoStats

Statistik data publikasi aliran video lokal (dipicu setiap 2 detik).

onRtcRemoteVideoStats

Berlangganan statistik data aliran video remote (dipicu setiap 2 detik).

onRtcRemoteAudioStats

Statistik data untuk aliran audio remote yang di-subscribe (dipicu setiap 2 detik).

onRtcLocalAudioStats

Statistik data untuk aliran audio lokal yang dipublikasikan. Dipicu setiap 2 detik.

onAudioFocusChange

Callback perubahan fokus audio (hanya untuk Android).

onAudioRouteChanged

Callback untuk perubahan rute audio (berlaku hanya untuk platform Android dan iOS).

onRemoteUserSubscribedDataChannel

Callback ini dipicu ketika Anda dapat mulai mengirim pesan melalui data channel.

onDataChannelMessage

Callback penerimaan pesan kustom melalui data channel.

AliRtcAudioVolumeObserver

API

Deskripsi fitur

onAudioVolume

Callback untuk indikasi volume pengguna.

onActiveSpeaker

Deteksi aktivasi suara untuk callback pengguna aktif.

OnTestAudioVolume

Callback untuk informasi volume selama pemeriksaan sebelum panggilan.

AliRtcAudioFrameObserver

API

Deskripsi fitur

onCapturedAudioFrame

Callback data mentah audio yang ditangkap.

onProcessCapturedAudioFrame

Callback data audio setelah pemrosesan 3A.

onPublishAudioFrame

Callback data audio untuk pengambilan aliran (stream ingest).

onPlaybackAudioFrame

Callback data pemutaran (playback).

onRemoteUserAudioFrame

Callback untuk data penarikan aliran remote (remote stream pulling).

AliRtcDestroyCompletionObserver

API

Deskripsi fitur

OnDestroyCompletion

Callback saat penghancuran Mesin DPI selesai.

AliRtcTextureObserver

API

Deskripsi Fitur

onTextureCreate

Callback pembuatan konteks OpenGL.

onTextureUpdate

Callback pembaruan texture OpenGL.

onTextureDestroy

Callback penghapusan konteks OpenGL.

AliRtcVideoObserver

API

Deskripsi Fitur

onLocalVideoSample

Callback data video yang ditangkap secara lokal dari subscription.

onPreEncodeVideoSample

Callback untuk data video lokal pra-encode dari langganan.

onRemoteVideoSample

Callback untuk data video jarak jauh yang telah dilanggan.

onGetVideoFormatPreference

Format output data video

onGetObservedFramePosition

Output data video.

Detail

getInstance[1/2]

Anda dapat memperoleh instans singleton dari AliRtcEngine.

public static AliRtcEngineImpl getInstance(Context context);
Catatan
  • Metode ini dan getInstance[2/2] sama-sama membuat instans AliRtcEngine. Perbedaannya adalah getInstance[2/2] mendukung konfigurasi tambahan selama pembuatan instans.

Kapan dipanggil

Panggil metode ini sebelum memanggil API SDK ARTC lainnya untuk membuat instans AliRtcEngine.

Batasan

SDK hanya mendukung satu instans AliRtcEngine per aplikasi.

Parameter

Parameter

Jenis

Deskripsi

context

Context

Context dari aktivitas Android.

Deskripsi nilai kembali

SDK hanya mendukung satu instans AliRtcEngine per aplikasi.

getInstance[2/2]

Memperoleh instans AliRtcEngine (pola singleton).

public static AliRtcEngineImpl getInstance(Context context, String extras);
Catatan
  • Baik metode ini maupun <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8f628e533bein" id="72113a6d4d6t8">getInstance[1/2]</a> dapat membuat instans AliRtcEngine. Perbedaannya adalah metode ini memungkinkan Anda menentukan konfigurasi tambahan selama pembuatan instans.

Kapan harus memanggil

Panggil metode ini sebelum memanggil API SDK ARTC lainnya untuk membuat instans AliRtcEngine.

Batasan

SDK hanya mendukung satu instans AliRtcEngine per aplikasi.

Parameter

Parameter

Tipe

Deskripsi

context

Context

Context dari aktivitas Android.

extras

String

Menentukan konfigurasi JSON untuk mengatur fitur khusus kit pengembangan perangkat lunak (SDK) selama rilis canary. Nilai ini bisa berupa string kosong.

Deskripsi Pengembalian

Mengembalikan instans singleton dari kelas AliRtcEngineImpl, yang merupakan subkelas dari AliRtcEngine.

destroy[1/2]

Menghapus instans AliRtcEngine.

public abstract void destroy();

Menghancurkan instans singleton AliRtcEngine. Setelah memanggil metode ini, semua resource internal dilepas. Anda tidak dapat menggunakan metode atau callback AliRtcEngine lainnya. Untuk menggunakan kembali engine, panggil getInstance untuk membuat instans baru.

Catatan
  • Metode ini dan destroy[2/2] sama-sama menghancurkan instans engine. Perbedaannya adalah destroy[2/2] memungkinkan Anda meneruskan observer penyelesaian.

  • Jika ingin membuat instans AliRtcEngine baru setelah penghancuran, pastikan untuk melakukannya hanya setelah metode ini selesai dijalankan.

Kapan Harus Menelepon

Kami menyarankan memanggil metode ini setelah komunikasi real-time berakhir—yaitu, ketika Anda tidak lagi memerlukan fungsionalitas AliRtcEngine—untuk melepas instans dan mengurangi penggunaan resource yang tidak perlu.

Batasan

  • Untuk menghindari deadlock, jangan panggil metode ini dari dalam callback SDK apa pun.

  • Setelah memanggil metode ini, atur objek engine ke null. Contohnya:

    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

destroy[2/2]

Menghapus instans AliRtcEngine.

public abstract void destroy(AliRtcDestroyCompletionObserver observer);

Menghancurkan instans singleton AliRtcEngine. Setelah memanggil metode ini, semua resource internal dilepas. Anda tidak dapat menggunakan metode atau callback AliRtcEngine lainnya. Untuk menggunakan kembali engine, panggil getInstance untuk membuat instans baru.

Catatan

Metode ini merupakan pemanggilan asinkron yang menyediakan observer agar developer dapat melacak penyelesaian penghancuran. Anda hanya dapat melakukan pembuatan instans baru setelah callback OnDestroyCompletion selesai dieksekusi, dan penghancuran tidak akan selesai sebelum callback observer dijalankan.

Kapan Harus Menghubungi

Kami menyarankan memanggil metode ini setelah komunikasi real-time berakhir untuk melepas instans.

Batasan

Untuk menghindari deadlock, jangan panggil metode ini dari dalam callback SDK apa pun.

Callback terkait

Setelah objek engine SDK dihancurkan, SDK memicu callback OnDestroyCompletion, yang menandakan bahwa pembuatan instans baru dapat dilakukan.

Parameter

Parameter

Tipe

Deskripsi

observer

AliRtcDestroyCompletionObserver

Callback notifikasi untuk penghancuran engine. Dengarkan callback ini untuk memastikan resource telah sepenuhnya dilepas.

setH5CompatibleMode

Menentukan apakah mode kompatibilitas HTML5 diaktifkan.

public static int setH5CompatibleMode(int enable);

Parameter

Parameter

Tipe

Deskripsi

enable

int

Menentukan apakah mode kompatibilitas HTML5 diaktifkan. Nilai yang valid:

  • 0 (default): Menonaktifkan mode kompatibilitas HTML5.

  • 1: Mengaktifkan mode kompatibilitas HTML5.

Penting

Anda tidak dapat mengubah pengaturan kompatibilitas HTML5 untuk versi saat ini setelah membuat instans AliRtcEngine. Anda harus memanggil metode ini sebelum membuat instans.

getH5CompatibleMode

Memeriksa apakah mode kompatibilitas HTML5 diaktifkan.

public static int getH5CompatibleMode();

Deskripsi respons

  • Nilai 1 menunjukkan bahwa mode kompatibilitas HTML5 diaktifkan.

  • Nilai 0 menunjukkan bahwa mode kompatibilitas HTML5 dinonaktifkan.

setRtcEngineEventListener

Menetapkan listener untuk menerima event callback pengguna lokal.

public abstract void setRtcEngineEventListener(AliRtcEngineEventListener listener);

Metode ini menyiapkan callback event yang terkait dengan pengguna lokal, seperti hasil bergabung atau meninggalkan saluran, perubahan peran pengguna, perubahan status ingest aliran audio dan video, perubahan status langganan aliran audio dan video, perubahan kualitas jaringan dan hasil probe, hasil tangkapan layar, status dan pengecualian perangkat, serta kesalahan SDK. Developer mengimplementasikan metode callback ini untuk menangani siklus hidup dan perubahan status pengguna lokal dalam aplikasi RTC.

Catatan
  • Semua callback memiliki implementasi default kosong. Anda tidak perlu mengimplementasikan semua callback. Implementasikan hanya yang relevan dengan kebutuhan bisnis Anda.

  • Untuk mengimplementasikan callback yang terkait dengan pengguna jarak jauh, frame pertama, paket pertama, efek suara, iringan audio, atau autentikasi, implementasikan kelas AliRtcEngineNotify dan panggil setRtcEngineNotify.

  • Hindari menjalankan operasi yang memakan waktu lama dalam callback, seperti memanggil metode destroy. Melakukannya dapat menyebabkan pemblokiran dan memengaruhi kinerja SDK.

Kapan dipanggil

Panggil metode ini sebelum bergabung ke saluran.

Callback terkait

Ketika terjadi pengecualian, SDK terlebih dahulu mencoba pemulihan internal secara otomatis. Jika pemulihan gagal, SDK memberi tahu aplikasi Anda melalui callback yang telah ditentukan. Berikut adalah callback utama yang memerlukan penanganan tingkat aplikasi:

Penyebab anomali

Callback dan parameter

Solusi

Catatan

Autentikasi gagal

Parameter result dalam callback onJoinChannelResult mengembalikan AliRtcErrJoinBadToken.

Ketika terjadi kesalahan, aplikasi harus memeriksa kebenaran token.

Jika panggilan API gagal dalam autentikasi, sistem mengembalikan pesan kesalahan autentikasi dalam callback.

Konektivitas jaringan abnormal

Callback onConnectionStatusChange mengembalikan AliRtcConnectionStatusFailed.

Ketika kesalahan ini terjadi, aplikasi harus bergabung kembali ke rapat.

SDK secara otomatis memulihkan gangguan jaringan singkat. Jika gangguan berlangsung lebih lama dari ambang batas timeout yang telah ditentukan, koneksi akan timeout dan terputus. Dalam kasus ini, aplikasi harus memeriksa status jaringan dan memandu pengguna untuk bergabung kembali ke rapat.

Perangkat lokal abnormal

onLocalDeviceException

Ketika kondisi abnormal ini terjadi, periksa apakah aplikasi memiliki izin yang diperlukan dan apakah perangkat keras berfungsi dengan baik.

Layanan RTC mendukung pendeteksian dan diagnostik perangkat. Ketika terjadi masalah pada perangkat lokal, layanan RTC mengirim callback ke aplikasi Anda. Jika SDK tidak dapat menyelesaikan masalah tersebut sendiri, aplikasi Anda harus turun tangan untuk memeriksa apakah perangkat berfungsi dengan benar.

Parameter

Parameter

Tipe

Deskripsi

listener

AliRtcEngineEventListener

Tetapkan listener untuk event notifikasi perilaku pengguna lokal.

setRtcEngineNotify

Menetapkan listener untuk menerima event callback pengguna jarak jauh.

public abstract void setRtcEngineNotify(AliRtcEngineNotify listener);

Metode ini menyiapkan callback event yang terkait dengan pengguna jarak jauh, seperti notifikasi ketika mereka online atau offline, status ingest aliran audio dan video mereka, perubahan resolusi, transmisi dan penerimaan frame pertama serta paket pertama untuk audio dan video lokal dan jarak jauh, status pemutaran efek suara dan iringan audio lokal dan jarak jauh, status mute, statistik aliran audio dan video lokal dan jarak jauh, penerimaan SEI, penerimaan pesan kustom, dan perubahan autentikasi. Developer mengimplementasikan metode callback ini untuk menangani interaksi dengan pengguna jarak jauh.

Catatan
  • Semua callback memiliki implementasi default kosong. Anda tidak perlu mengimplementasikan semua metode. Implementasikan hanya yang relevan dengan kebutuhan bisnis Anda.

  • Hindari menjalankan operasi yang memakan waktu lama dalam callback, seperti memanggil metode destroy. Melakukannya dapat menyebabkan pemblokiran dan memengaruhi kinerja SDK.

Kapan Menghubungi

Panggil metode ini sebelum bergabung ke saluran.

Callback terkait

Ketika terjadi pengecualian, SDK terlebih dahulu mencoba pemulihan internal secara otomatis. Jika pemulihan gagal, SDK memberi tahu aplikasi Anda melalui callback yang telah ditentukan. Berikut adalah callback utama yang memerlukan penanganan tingkat aplikasi:

Penyebab anomali

Callback dan Parameter

Solusi

Catatan

Offline

onBye

  • AliRtcOnByeUserReplaced: Periksa apakah ID pengguna identik.

  • AliRtcOnByeBeKickedOut: Pengguna dikeluarkan secara offline oleh aplikasi. Bergabung kembali ke saluran.

  • AliRtcOnByeChannelTerminated: Saluran dihancurkan. Bergabung kembali ke saluran.

Layanan RTC menyediakan fitur bagi administrator untuk mengeluarkan peserta.

Akan segera kedaluwarsa

onWillAuthInfoExpire

Jika pengecualian ini terjadi, aplikasi harus memperoleh kembali informasi autentikasi terbaru. Kemudian, panggil `refreshAuthInfo` untuk memperbaruinya.

Kesalahan kedaluwarsa autentikasi terjadi dalam dua situasi: ketika pengguna memanggil API atau selama eksekusi program. Oleh karena itu, umpan balik kesalahan disediakan melalui callback API atau callback kesalahan terpisah.

Autentikasi kedaluwarsa

onAuthInfoExpired

Ketika kesalahan ini terjadi, aplikasi harus bergabung kembali ke rapat.

Akadaluwarsa terjadi dalam dua kasus: ketika pengguna memanggil API atau ketika program berjalan. Oleh karena itu, umpan balik kesalahan muncul sebagai callback API atau sebagai callback kesalahan terpisah.

Parameter

Parameter

Tipe

Deskripsi

listener

AliRtcEngineNotify

Tetapkan listener untuk event notifikasi tentang perilaku pengguna jarak jauh guna menerima pesan dari engine.

getSdkVersion

Memperoleh versi SDK saat ini.

public static String getSdkVersion();

Deskripsi Nilai Kembali

Nomor versi SDK saat ini, diformat sebagai string—misalnya, "2.5.0.x".

setChannelProfile

Menetapkan profil saluran.

public abstract int setChannelProfile(AliRTCSdkChannelProfile channelProfile);

Metode ini menetapkan profil saluran. Saat ini tersedia dua profil utama: panggilan video dan streaming langsung interaktif.

  • Dalam mode panggilan video, semua pengguna adalah streamer dan dapat mengingest dan menarik aliran audio dan video.

  • Dalam mode streaming langsung interaktif, Anda harus memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="18edf3ea54po4">setClientRole</a>. Untuk pengguna yang mengingest aliran di saluran, tetapkan peran mereka menjadi streamer (AliRTCSdkInteractive). Jika pengguna hanya perlu menarik aliran dan tidak perlu mengingest aliran, tetapkan peran mereka menjadi viewer (AliRTCSdkLive). Mode ini direkomendasikan untuk skenario RTC.

Catatan
  • Kami merekomendasikan menggunakan mode streaming langsung interaktif untuk semua skenario RTC. Panggil metode ini untuk menetapkan profil ke AliRTCSdkInteractiveLive.

  • Semua pengguna dalam saluran yang sama harus menggunakan profil saluran yang sama.

Kapan dipanggil

Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran. Anda tidak dapat mengubah profil saat berada di saluran. Anda dapat mengubahnya setelah meninggalkan saluran.

Parameter

Parameter

Jenis

Deskripsi

channelProfile

AliRTCSdkChannelProfile

Jenis saluran. Untuk semua skenario RTC, gunakan mode interaktif.

Deskripsi respons

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan: 1 berarti SDK belum diinisialisasi atau telah dihancurkan.

setAudioProfile

Menetapkan mode encoding audio dan mode skenario.

public abstract int setAudioProfile(AliRtcAudioProfile profile, AliRtcAudioScenario scenario);

API ini menetapkan mode encoding audio dan mode skenario audio. Untuk informasi lebih lanjut, lihat Operasi dan konfigurasi audio umum. SDK ARTC secara default menggunakan mode audio berkualitas tinggi (AliRtcEngineHighQualityMode) dan mode skenario musik (AliRtcSceneMusicMode). Jika pengaturan default tidak memenuhi kebutuhan Anda, Anda perlu memanggil API ini untuk mengubahnya.

Kapan Harus Memanggil

Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran. Anda tidak dapat mengubah pengaturan setelah bergabung. Anda dapat mengubahnya setelah meninggalkan saluran.

Parameter

Parameter

Tipe

Deskripsi

profile

AliRtcAudioProfile

Parameter mode encoding atau pengumpulan audio. Gunakan mode berkualitas tinggi (AliRtcEngineHighQualityMode).

Catatan

Untuk interoperabilitas dengan web, atur laju sampel ke 48 kHz.

  • AliRtcEngineLowQualityMode: Mode audio berkualitas rendah. Laju sampel default 8000 Hz, saluran suara tunggal, bitrate encoding maksimum 12 kbps.

  • AliRtcEngineBasicQualityMode: Mode kualitas standar. Laju sampel default 16000 Hz, saluran suara tunggal, bitrate encoding maksimum 24 kbps.

  • AliRtcEngineHighQualityMode: Laju sampel default 48000 Hz, saluran suara tunggal, bitrate encoding maksimum 64 kbps.

  • AliRtcEngineStereoHighQualityMode: Mode stereo berkualitas tinggi. Laju sampel default 48000 Hz, saluran suara ganda, bitrate encoding maksimum 80 kbps.

  • AliRtcEngineSuperHighQualityMode: Mode super berkualitas tinggi. Laju sampel default 48000 Hz, saluran suara tunggal, bitrate encoding maksimum 96 kbps.

  • AliRtcEngineStereoSuperHighQualityMode: Mode stereo super berkualitas tinggi. Laju sampel default 48000 Hz, saluran suara ganda, bitrate encoding maksimum 128 kbps.

scenario

AliRtcAudioScenario

Parameter mode skenario audio meliputi hal berikut:

  • AliRtcSceneMusicMode (pengaturan yang direkomendasikan): Skenario musik. Menggunakan 3A perangkat lunak untuk menangkap audio dari ponsel, menawarkan kualitas audio yang lebih tinggi.

  • AliRtcSceneDefaultMode: Menggunakan 3A perangkat keras dan dapat menangkap audio dari perangkat Bluetooth.

Catatan

Untuk SDK ARTC versi v6.21 ke atas, jangan atur ke skenario ruang obrolan (AliRtcSceneChatroomMode).

Deskripsi Kembalian

0: panggilan berhasil. Kurang dari 0: panggilan gagal.

isAudioOnly

Memeriksa apakah mode audio-only diaktifkan.

public abstract boolean isAudioOnly();

Deskripsi Kembalian

Nilai true menunjukkan mode audio-only. Nilai false menunjukkan mode audio-video.

setAudioOnlyMode

Menentukan apakah akan mengaktifkan mode audio-only.

public abstract int setAudioOnlyMode(boolean audioOnly);

Parameter

Parameter

Tipe

Deskripsi

audioOnly

boolean

Atur mode audio-only atau mode audio-video. Nilai yang valid:

  • true: mengaktifkan ingest dan penarikan aliran audio-only.

  • false (default): mengaktifkan ingest dan penarikan aliran audio dan video.

Deskripsi respons

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

joinChannel[1/3]

Bergabung ke saluran menggunakan token parameter tunggal.

public abstract int joinChannel(String token, String channelId, String userId, String userName);

Metode ini bergabung ke saluran. ARTC mengelompokkan pengguna ke dalam saluran. Pengguna harus bergabung ke saluran untuk mempublikasikan atau berlangganan aliran audio dan video. Metode ini, joinChannel[2/3], dan joinChannel[3/3] semuanya bergabung ke saluran. Mereka berbeda dalam metode autentikasi dan informasi pengguna yang diteruskan:

  • Ini adalah API bergabung parameter tunggal. Anda dapat bergabung ke saluran dengan meneruskan token untuk bergabung parameter tunggal yang dihasilkan menggunakan Autentikasi Token. API ini direkomendasikan untuk bergabung ke saluran dalam skenario RTC.

  • joinChannel[2/3] adalah API bergabung multi-parameter. Anda harus meneruskan token bergabung saluran multi-parameter yang dihasilkan dari Autentikasi Token, bersama dengan informasi pengguna yang digunakan untuk menghasilkan token.

  • joinChannel[3/3] ditujukan untuk skenario interaksi real-time AI. Teruskan token parameter tunggal dan atur atribut pengguna capabilityProfile berdasarkan skenario.

Catatan

Secara default, ketika Anda bergabung ke saluran, Anda berlangganan ke aliran audio dan video semua pengguna lain di saluran tersebut dan mendorong aliran audio dan video Anda ke pengguna jarak jauh. Jika ingin membatalkan langganan default ini, Anda dapat memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="33438e1082mi8">setDefaultSubscribeAllRemoteAudioStreams</a> dan <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="243e9483a0suk">setDefaultSubscribeAllRemoteVideoStreams</a> sebelum memanggil metode ini untuk menonaktifkan langganan ke aliran audio atau video.

Kapan harus memanggil

Panggil metode ini setelah membuat engine.

Batasan

  • Setelah berhasil bergabung ke saluran, untuk bergabung ke saluran lain di tengah sesi, Anda harus terlebih dahulu memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="4de6ecc1a4pa2">leaveChannel</a> untuk meninggalkan saluran saat ini dan memastikan bahwa Anda menerima callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="70c68b0236xdt">onLeaveChannelResult</a> dari AliRtcEngineEventListener. Baru setelah itu Anda dapat bergabung ke saluran lagi.

  • Metode ini hanya mendukung bergabung ke satu saluran sekaligus.

  • Aplikasi yang menggunakan App ID berbeda tidak dapat berinteroperasi.

  • Pemanggilan ulang tidak diperlukan saat mencoba ulang bergabung ke saluran yang gagal.

Callback terkait

Setelah memanggil metode ini berhasil, callback berikut dipicu:

  • Hasil klien lokal bergabung ke saluran diberitahukan melalui callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="712006e223y8z">onJoinChannelResult</a>.

  • Setelah Anda berhasil bergabung ke saluran, klien jarak jauh memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="40a9273affui1">onRemoteUserOnLineNotify</a>.

Parameter

Parameter

Tipe

Deskripsi

token

String

Informasi autentikasi untuk bergabung ke rapat dengan parameter tunggal.

channelId

String

ID saluran yang akan digabungkan harus sama dengan ID saluran yang digunakan untuk menghasilkan token.

userId

String

ID pengguna untuk bergabung ke saluran harus cocok dengan nilai yang digunakan untuk menghasilkan token.

userName

String

Nama tampilan pengguna. Ini bukan ID pengguna.

Deskripsi pengembalian

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

joinChannel[2/3]

Bergabung ke saluran untuk konferensi multipihak.

public abstract int joinChannel(AliRtcAuthInfo authInfo, String userName);

Metode ini bergabung ke saluran. ARTC mengelompokkan pengguna ke dalam saluran. Pengguna harus bergabung ke saluran untuk mempublikasikan atau berlangganan aliran audio dan video. Metode ini, joinChannel[1/3], dan joinChannel[3/3] semuanya bergabung ke saluran. Mereka berbeda dalam metode autentikasi dan informasi pengguna yang diteruskan:

  • joinChannel[1/3] adalah antarmuka parameter tunggal untuk bergabung ke saluran. Untuk bergabung ke saluran, teruskan token yang dihasilkan menggunakan Autentikasi Token. Antarmuka ini direkomendasikan untuk bergabung ke saluran dalam skenario RTC.

  • Antarmuka ini adalah antarmuka bergabung saluran multi-parameter. Anda perlu memberikan token bergabung saluran multi-parameter yang dihasilkan oleh Autentikasi Token, dan informasi pengguna yang digunakan untuk menghasilkan token untuk bergabung ke saluran.

  • joinChannel[3/3] ditujukan untuk skenario interaksi real-time AI. Teruskan token parameter tunggal dan atur atribut pengguna capabilityProfile.

Catatan
  • Jika tidak ada konfigurasi khusus yang diterapkan, Anda secara default berlangganan ke aliran audio dan video dari semua pengguna lain di saluran saat bergabung, dan mendorong aliran audio dan video Anda ke pengguna jarak jauh secara default. Untuk menonaktifkan langganan default, panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="474adcf738uxu">setDefaultSubscribeAllRemoteAudioStreams</a> dan setDefaultSubscribeAllRemoteVideoStreams sebelum memanggil antarmuka ini untuk menonaktifkan langganan ke aliran audio atau video.

  • API ini digunakan untuk bergabung ke saluran dengan beberapa parameter. Sebelum memanggil API ini, lihat Autentikasi Token untuk menghasilkan token yang diperlukan.

Batasan

  • Setelah berhasil bergabung ke saluran, untuk bergabung ke saluran lain selama sesi, Anda harus terlebih dahulu memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="e2525ba6a0k3s">leaveChannel</a> untuk meninggalkan saluran saat ini dan memastikan bahwa Anda menerima callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="6aefdfedb0op3">onLeaveChannelResult</a> dari AliRtcEngineEventListener. Baru setelah itu Anda dapat bergabung ke saluran lagi.

  • Metode ini hanya mendukung bergabung ke satu saluran sekaligus.

  • Aplikasi yang menggunakan App ID berbeda tidak dapat berinteroperasi.

Callback terkait

Setelah memanggil metode ini berhasil, callback berikut dipicu:

  • Hasil klien lokal bergabung ke saluran diberitahukan melalui callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="fb41cdcfc6acj">onJoinChannelResult</a>.

  • Setelah Anda berhasil bergabung ke saluran, sisi jarak jauh memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="8e9d69ebe54sr">onRemoteUserOnLineNotify</a>.

Parameter

Parameter

Tipe

Deskripsi

authInfo

AliRtcAuthInfo

Informasi autentikasi. Token adalah token multi-parameter. Parameter lain yang terkait dengan pembuatan token harus sesuai dengan yang digunakan selama pembuatan token dan tidak boleh kosong.

userName

String

Nama tampilan pengguna. Ini bukan ID pengguna. Nilai ini bisa kosong.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

joinChannel[3/3]

Bergabung ke saluran untuk skenario interaksi real-time AI.

public abstract int joinChannel(String token, AliRTCSdkChannelParam channelParam);

Metode ini bergabung ke saluran. ARTC mengelompokkan pengguna ke dalam saluran. Pengguna harus bergabung ke saluran untuk mempublikasikan atau berlangganan aliran audio dan video. Metode ini, joinChannel[1/3], dan joinChannel[2/3] semuanya bergabung ke saluran. Mereka berbeda dalam metode autentikasi dan informasi pengguna yang diteruskan:

  • joinChannel[1/3] adalah antarmuka bergabung saluran parameter tunggal untuk skenario RTC. Anda dapat bergabung ke saluran dengan meneruskan token yang dihasilkan melalui Autentikasi Token. Kami merekomendasikan menggunakan antarmuka ini untuk bergabung ke saluran dalam skenario RTC.

  • joinChannel[2/3] adalah antarmuka untuk bergabung multipartisipan. Anda perlu meneruskan Token yang dihasilkan melalui Autentikasi Token untuk bergabung multipartisipan, dan juga meneruskan informasi pengguna yang digunakan untuk menghasilkan Token untuk bergabung.

  • Metode ini ditujukan untuk skenario interaksi real-time AI. Teruskan token parameter tunggal dan atur atribut pengguna capabilityProfile. Atur ke AliCapabilityProfileAiHuman saat berkomunikasi dengan agen AI.

Catatan

Secara default, ketika Anda bergabung ke saluran, Anda berlangganan ke aliran audio dan video dari semua pengguna lain di saluran dan mempublikasikan aliran audio dan video Anda ke pengguna jarak jauh. Untuk menonaktifkan langganan default, panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="5423d42229iih">setDefaultSubscribeAllRemoteAudioStreams</a> sebelum memanggil API ini untuk menonaktifkan langganan ke aliran audio, atau panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="0112175788ybe">setDefaultSubscribeAllRemoteVideoStreams</a> untuk menonaktifkan langganan ke aliran video.

Batasan

  • Setelah berhasil bergabung ke saluran, untuk bergabung ke saluran lain saat berada di saluran, Anda harus terlebih dahulu memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="719d580348a95">leaveChannel</a> untuk meninggalkan saluran saat ini dan memastikan bahwa Anda menerima callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="d128acfee2fpd">onLeaveChannelResult</a> dari AliRtcEngineEventListener. Baru setelah itu Anda dapat bergabung ke saluran lagi.

  • Metode ini hanya mendukung bergabung ke satu saluran sekaligus.

  • Aplikasi yang menggunakan App ID berbeda tidak dapat berinteroperasi.

  • Anda tidak perlu memanggil metode lagi untuk mencoba ulang bergabung ke saluran yang gagal.

Callback terkait

Setelah memanggil metode ini berhasil, callback berikut dipicu:

  • Hasil klien lokal bergabung ke saluran dilaporkan melalui callback AliRtcEngineEventListener <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="879ae2fa04zjd">onJoinChannelResult</a>.

  • Setelah Anda berhasil bergabung ke saluran, pengguna jarak jauh memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="9b5662c5a0nvf">onRemoteUserOnLineNotify</a>.

Parameter

Parameter

Tipe

Deskripsi

token

String

Token untuk bergabung ke saluran.

channelParam

AliRTCSdkChannelParam

Parameter untuk bergabung ke saluran. Ini terutama digunakan dalam skenario interaksi real-time berbasis AI dan mencakup hal berikut:

  • channelId: ID saluran. Harus sesuai dengan ID saluran yang digunakan saat menghasilkan token. Anda dapat mengabaikan parameter ini.

  • userId: ID pengguna yang digunakan untuk bergabung ke saluran. Harus sesuai dengan ID pengguna yang digunakan saat menghasilkan token. Anda dapat mengabaikan parameter ini.

  • userName: Nama tampilan untuk pengguna. Ini bukan ID pengguna. Anda dapat mengabaikan parameter ini.

  • capabilityProfile: Properti pengguna. Konfigurasikan ini secara khusus untuk skenario panggilan agen AI. Gunakan nilai default untuk skenario non-panggilan agen AI.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

leaveChannel

Meninggalkan saluran. Setelah memanggil metode ini, SDK mengakhiri komunikasi real-time dan meninggalkan saluran saat ini.

public abstract int leaveChannel();
Catatan
  • Metode ini merupakan operasi asinkron, dan ketika Anda memanggilnya dengan sukses, SDK tidak langsung meninggalkan saluran—Anda harus menunggu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="7e49937108skj">onLeaveChannelResult</a> dipanggil sebelum saluran benar-benar ditinggalkan.

  • Setelah leaveChannel selesai, hancurkan engine dan atur objek engine ke null.

    mAliRtcEngine.leaveChannel();
    mAliRtcEngine.destroy();
    mAliRtcEngine = null;

Kapan harus memanggil

  • Panggil metode ini ketika Anda perlu meninggalkan saluran setelah bergabung.

  • Jika Anda telah bergabung ke saluran dan perlu bergabung ke saluran lain, panggil metode ini terlebih dahulu.

Callback terkait

  • Sisi lokal: Setelah Anda memanggil metode ini, callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="80f5e30245vfn">onLeaveChannelResult</a> dipicu untuk memberi tahu Anda tentang hasil meninggalkan saluran.

  • Sisi jarak jauh: Setelah Anda berhasil memanggil operasi ini, pengguna jarak jauh memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#75c700a2376c1" id="69bf5ff199oda">onRemoteUserOffLineNotify</a>.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

isInCall

Memeriksa apakah Anda berada di saluran.

public abstract boolean isInCall();

Deskripsi Nilai Kembali

Nilai true menunjukkan bahwa Anda berada di saluran. Nilai false menunjukkan bahwa Anda tidak berada di saluran.

setClientRole

Menentukan peran pengguna.

public abstract int setClientRole(AliRTCSdkClientRole clientRole);

Metode ini menetapkan peran pengguna sebagai streamer atau viewer.

Dalam mode interaktif, sebelum bergabung ke saluran:

  • Tetapkan peran pengguna sebagai streamer: SDK secara otomatis mengingest aliran audio dan video lokal serta menarik aliran audio dan video dari streamer lainnya.

  • Tetapkan peran pengguna sebagai viewer: SDK tidak mengingest aliran audio dan video lokal tetapi menarik aliran audio dan video dari streamer lainnya.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Anda dapat menetapkan peran sebelum bergabung atau mengganti peran setelah bergabung.

Batasan

Metode ini hanya berfungsi dalam mode interaktif—yaitu, ketika setChannelProfile diatur ke AliRTCSdkInteractiveLive.

Kami menyarankan secara eksplisit menetapkan peran pengguna sebelum bergabung ke saluran dalam mode interaktif.

Parameter

Parameter

Tipe

Deskripsi

clientRole

AliRTCSdkClientRole

Jenis peran pengguna. Peran ini hanya berlaku dalam mode interaktif.

getCurrentClientRole

Memeriksa peran pengguna.

public abstract AliRTCSdkClientRole getCurrentClientRole();

Deskripsi Nilai Kembali

Mengembalikan peran pengguna saat ini.

refreshAuthInfo[1/2]

Memperbarui informasi autentikasi.

public abstract int refreshAuthInfo(AliRtcAuthInfo authInfo);

Metode ini memperbarui informasi autentikasi. Token kedaluwarsa setelah periode tertentu, sehingga mencegah SDK terhubung ke server.

Catatan

API ini dan API refreshAuthInfo[2/2] sama-sama memperbarui informasi autentikasi. Namun, API ini memperbarui token untuk rapat multipartisipan, sedangkan API refreshAuthInfo[2/2] memperbarui token untuk rapat partisipan tunggal. Untuk informasi tentang pembuatan token, lihat Autentikasi Token.

Kapan dipanggil

Dalam situasi berikut:

  • Ketika Anda menerima callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e9acb46a25uym" id="7e1510bec7s3s">onAuthInfoWillExpire</a> yang melaporkan bahwa informasi autentikasi akan segera kedaluwarsa, kami menyarankan Anda membuat ulang token di sisi server dan kemudian memanggil metode ini untuk meneruskan token baru.

  • Jika Anda tidak memperbarui Token tepat waktu, callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="97664f9e46fhp">onAuthInfoExpired</a> dipicu untuk memberi tahu Anda bahwa autentikasi telah kedaluwarsa. Pada titik ini, Anda perlu membuat ulang Token dan kemudian memanggil joinChannel untuk bergabung kembali ke saluran.

Parameter

Parameter

Tipe

Deskripsi

authInfo

AliRtcAuthInfo

Informasi autentikasi.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

refreshAuthInfo[2/2]

Memperbarui informasi autentikasi.

public abstract int refreshAuthInfo(String token);

Metode ini memperbarui token. Token kedaluwarsa setelah periode tertentu, sehingga mencegah SDK terhubung ke server.

Catatan

Baik API ini maupun operasi refreshAuthInfo[1/2] memperbarui informasi autentikasi. API ini memperbarui token untuk bergabung ke rapat dengan parameter tunggal, sedangkan refreshAuthInfo[1/2] memperbarui token untuk bergabung ke rapat dengan beberapa parameter. Untuk informasi lebih lanjut tentang pembuatan token, lihat Autentikasi Token.

Kapan Harus Menghubungi

Kami menyarankan membuat ulang token di server Anda dan memanggil metode ini dengan token baru dalam kasus berikut:

  • Ketika callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e9acb46a25uym" id="d708af68eevs9">onAuthInfoWillExpire</a> melaporkan bahwa informasi autentikasi akan segera kedaluwarsa.

  • Jika Anda tidak memperbarui Token tepat waktu, callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8fa7e60f9f5qq" id="3fd674e985gl8">onAuthInfoExpired</a> dipicu untuk memberi tahu bahwa autentikasi telah kedaluwarsa. Pada titik ini, Anda perlu memanggil joinChannel untuk bergabung kembali ke saluran.

Parameter

Parameter

Tipe

Deskripsi

token

String

Informasi autentikasi untuk input parameter tunggal.

Deskripsi nilai kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

publishLocalAudioStream

Anda dapat menghentikan atau melanjutkan publikasi aliran video lokal.

public abstract int publishLocalAudioStream(boolean enable);

Metode ini mengontrol apakah akan mempublikasikan aliran audio yang ditangkap secara lokal. Secara default, SDK mempublikasikan aliran audio. Untuk menonaktifkan publikasi aliran audio, panggil publishLocalAudioStream(false) sebelum bergabung ke saluran.

Kapan Harus Menelepon

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Memanggilnya sebelum bergabung memodifikasi konfigurasi default dan berlaku saat bergabung.

Callback terkait

Ketika hasil ingest aliran audio lokal berubah, klien lokal memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b7e3bb51c2ga9" id="4ced92c3f5hmj">onAudioPublishStateChanged</a> untuk memberi tahu Anda bahwa status ingest aliran audio lokal telah berubah, dan klien jarak jauh memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="2b5460d448ga9">onRemoteTrackAvailableNotify</a> untuk memberi tahu Anda bahwa aliran audio dan video pengguna jarak jauh telah berubah.

Parameter

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah akan mempublikasikan aliran audio. Nilai yang valid:

  • true (default): Mempublikasikan aliran audio.

  • false: Tidak mempublikasikan aliran audio.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

isLocalAudioStreamPublished

Memeriksa apakah aliran audio dipublikasikan.

public abstract boolean isLocalAudioStreamPublished();

Instruksi Pengembalian

Nilai true menunjukkan bahwa aliran audio dipublikasikan. Nilai false menunjukkan bahwa aliran audio tidak dipublikasikan.

setDefaultSubscribeAllRemoteAudioStreams

Menentukan apakah akan berlangganan ke aliran audio pengguna jarak jauh secara default.

public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);

Metode ini mengonfigurasi apakah sistem berlangganan ke aliran audio pengguna jarak jauh secara default. Pengaturan ini memengaruhi perilaku langganan aliran audio pengguna baru yang bergabung ke saluran. Kecuali Anda memiliki persyaratan khusus, kami merekomendasikan menyetel ini ke true.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

  • Sebelum bergabung:

    • Secara default, SDK berlangganan ke aliran audio pengguna jarak jauh saat bergabung ke saluran. Untuk mengubah perilaku ini, panggil metode ini sebelum bergabung.

  • Setelah bergabung:

    • Untuk menghentikan langganan default, panggil setDefaultSubscribeAllRemoteAudioStreams(false). Kemudian, aliran audio pengguna yang baru bergabung tidak akan dilanggan.

    • Setelah Anda menghentikan langganan default, Anda dapat memanggil API subscribeRemoteAudioStream untuk melanjutkan langganan ke aliran audio pengguna tertentu, dan memanggilnya beberapa kali untuk melanjutkan langganan untuk beberapa pengguna.

    • Setelah menghentikan langganan default, memanggil setDefaultSubscribeAllRemoteAudioStreams(true) hanya melanjutkan langganan untuk pengguna yang bergabung setelah pemanggilan tersebut. Langganan tidak dilanjutkan untuk pengguna jarak jauh yang telah bergabung selama periode dihentikan.

Parameter

Parameter

Tipe

Deskripsi

sub

boolean

Apakah menerima aliran audio secara default. Nilai yang valid adalah:

  • true (default): Menerima aliran audio.

  • false: Tidak berlangganan ke track audio pengguna jarak jauh.

Deskripsi pengembalian

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

subscribeRemoteAudioStream

Menghentikan atau melanjutkan penarikan aliran audio pengguna jarak jauh tertentu.

public abstract int subscribeRemoteAudioStream(String uid, boolean sub);

Metode ini menghentikan atau melanjutkan langganan ke aliran audio pengguna jarak jauh tertentu. Kecuali Anda memiliki persyaratan khusus, kami merekomendasikan menyetel ini ke true.

Catatan

SDK secara default berlangganan ke aliran audio dari semua pengguna jarak jauh saat bergabung ke rapat. Untuk memodifikasi perilaku ini, Anda dapat memanggil <a baseurl="t2309760_v6_1_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="d319c7806ej0h">setDefaultSubscribeAllRemoteAudioStreams</a>(false) sebelum bergabung ke rapat untuk menonaktifkan konfigurasi default ini.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

sub

boolean

Menentukan apakah akan menjeda atau melanjutkan langganan ke aliran audio pengguna jarak jauh tertentu.

  • true (default): Melanjutkan langganan.

  • false: Operasi dihentikan.

Deskripsi nilai kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

subscribeAllRemoteAudioStreams

Menentukan apakah akan menerima aliran audio semua pengguna jarak jauh.

public abstract int subscribeAllRemoteAudioStreams(boolean sub);

Metode ini adalah sakelar utama untuk berlangganan aliran audio jarak jauh. Kami merekomendasikan menyetelnya ke true. Jika diatur ke false, hal ini menyebabkan:

  • Semua aliran audio jarak jauh dalam sesi saat ini berhenti dilanggan.

  • Pengguna baru yang bergabung kemudian juga tidak berlangganan.

  • Anda tidak dapat menggunakan <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e09342eeb0z4k" id="a56b5f2a3f56k">subscribeRemoteAudioStream</a> untuk mengontrol secara individual aliran audio pengguna tertentu.

Untuk melanjutkan langganan, panggil metode ini lagi dan atur ke true.

Catatan

SDK secara default berlangganan ke aliran audio dari semua pengguna jarak jauh saat Anda bergabung ke rapat. Untuk memodifikasi perilaku ini, Anda dapat memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0155f66448env" id="5a57cb846fzb2">setDefaultSubscribeAllRemoteAudioStreams</a>(false) sebelum bergabung ke rapat untuk menonaktifkan konfigurasi default ini.

Parameter

Parameter

Tipe

Deskripsi

sub

boolean

Menentukan apakah akan menerima semua aliran audio jarak jauh. Nilai yang valid:

  • true (default): menerima semua aliran audio jarak jauh.

  • false: tidak menerima semua aliran audio jarak jauh.

Deskripsi Pengembalian

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

publishLocalVideoStream

Menentukan apakah akan mempublikasikan aliran kamera.

public abstract int publishLocalVideoStream(boolean enable);

Metode ini mengontrol apakah akan mempublikasikan aliran video yang ditangkap secara lokal.

Catatan

SDK secara default mempublikasikan aliran video. Untuk menonaktifkan publikasi aliran video, panggil publishLocalVideoStream(false) sebelum bergabung ke saluran.

Kapan Harus Menelepon

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Memanggilnya sebelum bergabung memodifikasi konfigurasi default dan berlaku saat bergabung.

Callback terkait

Ketika status pengambilan aliran audio lokal berubah, sisi lokal memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#afe6d3c4b1rvg" id="8b70bc353aj68">onVideoPublishStateChanged</a> untuk memberi tahu status terbaru pengambilan aliran audio tersebut, sedangkan sisi jarak jauh memicu callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7078e15087a0z" id="176ee94b46lb7">onRemoteTrackAvailableNotify</a> untuk memberi tahu bahwa aliran audio dan video pengguna jarak jauh telah berubah.

Parameter

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah akan mempublikasikan track video. Nilai yang valid:

  • true (default): mempublikasikan track video.

  • false: tidak mempublikasikan track video.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

isLocalVideoStreamPublished

Memeriksa apakah aliran kamera dipublikasikan.

public abstract boolean isLocalVideoStreamPublished();

Deskripsi Kembalian

Nilai true menunjukkan bahwa aliran kamera dipublikasikan. Nilai false menunjukkan bahwa aliran kamera tidak dipublikasikan.

setDefaultSubscribeAllRemoteVideoStreams

Menentukan apakah akan berlangganan ke aliran video pengguna jarak jauh secara default.

public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);

Metode ini menentukan apakah akan berlangganan ke aliran video pengguna jarak jauh secara default. SDK secara default berlangganan.

Kapan harus memanggil

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Jika Anda memanggil setDefaultSubscribeAllRemoteVideoStreams(false) setelah bergabung, Anda tidak akan menerima aliran video dari pengguna yang bergabung setelahnya.

Setelah Anda berhenti menerima aliran video, panggil subscribeRemoteVideoStream dan tentukan ID pengguna jarak jauh untuk melanjutkan menerima aliran video mereka. Untuk melanjutkan menerima aliran video dari beberapa pengguna, Anda perlu memanggil subscribeRemoteVideoStream beberapa kali. setDefaultSubscribeAllRemoteVideoStreams(true) hanya melanjutkan menerima aliran video dari pengguna yang bergabung ke saluran kemudian.

Metode ini menentukan apakah akan berlangganan ke aliran video pengguna jarak jauh secara default.

Catatan

Secara default, SDK berlangganan ke aliran audio dan video pengguna jarak jauh saat bergabung ke saluran. Untuk mengubah perilaku ini, panggil metode ini sebelum bergabung.

Parameter

Parameter

Tipe

Deskripsi

sub

boolean

Menentukan apakah akan berlangganan ke track video pengguna jarak jauh. Nilai yang valid:

  • true (default): Terima secara default.

  • false: Tidak menerima. Ini adalah nilai default.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

subscribeRemoteVideoStream

Menghentikan atau melanjutkan langganan ke aliran video jarak jauh tertentu.

public abstract int subscribeRemoteVideoStream(String uid, AliRtcVideoTrack track, boolean sub);

Berlangganan atau berhenti berlangganan ke aliran video pengguna tertentu.

Catatan

Secara default, SDK berlangganan ke aliran video semua pengguna jarak jauh saat Anda bergabung ke rapat. Untuk mengubah perilaku ini, Anda dapat memanggil <a baseurl="t2309760_v6_1_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="2a6fd8903ce5s">setDefaultSubscribeAllRemoteVideoStreams</a>(false) sebelum bergabung ke rapat untuk membatalkan konfigurasi default ini.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID Pengguna

track

AliRtcVideoTrack

Jenis aliran video.

sub

boolean

Menentukan apakah akan menerima aliran video dari pengguna tertentu.

  • true: Menerima aliran video dari pengguna tertentu.

  • false: Berhenti menerima aliran video dari pengguna tertentu.

Deskripsi nilai kembali

  • 0: metode dieksekusi dengan sukses.

  • Bukan nol: metode gagal.

subscribeAllRemoteVideoStreams

Menghentikan atau melanjutkan penerimaan semua aliran video jarak jauh.

public abstract int subscribeAllRemoteVideoStreams(boolean sub);

Metode ini adalah sakelar utama untuk berlangganan aliran video jarak jauh. Jika diatur ke false, hal ini menyebabkan:

  • Semua aliran video jarak jauh dalam sesi saat ini berhenti dilanggan.

  • Pengguna baru yang bergabung kemudian tidak akan berlangganan (meskipun Anda telah mengatur <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="8661e30c89dum">setDefaultSubscribeAllRemoteVideoStreams</a>(true) untuk mengaktifkan langganan bawaan).

  • Anda tidak dapat menggunakan <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b738a1b498bc1" id="19b0cea8593i5">subscribeRemoteVideoStream</a> untuk mengontrol secara individual aliran video pengguna tertentu.

Untuk melanjutkan langganan, panggil metode ini lagi dan atur ke true.

Catatan

Secara default, SDK berlangganan ke semua aliran video pengguna jarak jauh saat bergabung ke saluran. Untuk mengubah perilaku ini, panggil setDefaultSubscribeAllRemoteVideosStreams(false) sebelum bergabung.

Parameter

Parameter

Tipe

Deskripsi

sub

boolean

Menentukan apakah akan berlangganan ke track video semua pengguna jarak jauh. Nilai yang valid:

  • true (default): melanjutkan

  • false: Operasi dihentikan.

Deskripsi Kembalian

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

subscribeRemoteMediaStream[1/2]

Menghentikan atau melanjutkan aliran media pengguna jarak jauh tertentu.

public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, boolean subVideo, boolean subAudio);

Metode ini menggabungkan langganan ke aliran audio dan video jarak jauh.

Catatan

Dalam metode ini, AliRtcVideoTrackNo tidak valid dan diabaikan.

Metode terkait

Dibandingkan dengan <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#4cec275051vr6" id="faff82a053mev">subscribeRemoteMediaStream[2/2]</a>, API ini menggunakan dua parameter Boolean, subVideo dan subAudio, untuk menentukan apakah akan berlangganan ke aliran audio dan video jarak jauh. Parameter videoTrack mengontrol aliran video mana yang akan ditarik.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

videoTrack

AliRtcVideoTrack

Jenis aliran video.

subVideo

boolean

Menentukan apakah akan berlangganan ke aliran video pengguna jarak jauh. Nilai yang valid:

  • true (default): Melanjutkan.

  • false: Operasi dihentikan.

subAudio

boolean

Hentikan atau lanjutkan penarikan aliran audio pengguna jarak jauh tertentu. Nilai yang valid:

  • true (default): Melanjutkan.

  • false: Hentikan.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

subscribeRemoteMediaStream[2/2]

Menghentikan atau melanjutkan langganan ke aliran audio dan video pengguna jarak jauh dalam satu panggilan.

public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, AliRtcAudioTrack audioTrack) ;

Antarmuka ini menggabungkan aliran audio dan video jarak jauh yang dilanggan.

Metode terkait

Tidak seperti subscribeRemoteMediaStream[1/2], metode ini menggunakan parameter videoTrack dan audioTrack untuk menentukan status langganan yang diinginkan dalam satu panggilan API. Misalnya:

  • Jika Anda ingin berlangganan ke aliran kamera dan mikrofon, atur videoTrack dan audioTrack ke AliRtcVideoTrackCamera dan AliRtcAudioTrackMic saat memanggil.

  • Untuk berhenti berlangganan aliran kamera tetapi tetap berlangganan aliran mikrofon, atur parameter videoTrack ke AliRtcVideoTrackNo dan parameter audioTrack ke AliRtcAudioTrackMic.

  • Untuk berhenti berlangganan keduanya, Anda dapat mengatur videoTrack dan audioTrack ke AliRtcVideoTrackNo dan AliRtcAudioTrackNo, masing-masing.

  • Untuk berlangganan ke aliran kamera dan berbagi layar, atur parameter videoTrack ke AliRtcVideoTrackBoth. Logika yang sama berlaku untuk aliran audio.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna adalah pengenal unik yang ditetapkan oleh server aplikasi.

videoTrack

AliRtcVideoTrack

Jenis aliran video.

audioTrack

AliRtcAudioTrack

Jenis aliran audio.

Deskripsi Kembalian

  • 0: Sukses.

  • <0: Gagal.

subscribeRemoteDestChannelStream

Berlangganan ke aliran pengguna tertentu di saluran lain.

public abstract int subscribeRemoteDestChannelStream(String channelId, String uid, AliRtcVideoTrack track, boolean sub_audio, boolean sub);

Parameter

Parameter

Tipe

Deskripsi

channelId

String

ID saluran jarak jauh.

uid

String

ID pengguna jarak jauh.

track

AliRtcVideoTrack

Aliran video yang akan dilanggan.

sub_audio

boolean

Mengontrol apakah akan menghentikan atau melanjutkan penarikan aliran audio pengguna jarak jauh tertentu. Nilai yang valid:

  • true (default): Lanjutkan penarikan.

  • false: Menghentikan operasi.

sub

boolean

Menghentikan atau melanjutkan langganan ke aliran pengguna tertentu di saluran lain.

Deskripsi Kembalian

Nilai kembali 0 menunjukkan bahwa panggilan metode berhasil, sedangkan nilai lainnya menunjukkan bahwa panggilan gagal.

subscribeRemoteDestChannelAllStream

Menghentikan atau melanjutkan langganan ke aliran semua pengguna di saluran lain.

public abstract int subscribeRemoteDestChannelAllStream(String channelId, AliRtcVideoTrack track, boolean sub_audio, boolean sub);

Parameter

Parameter

Tipe

Deskripsi

channelId

String

ID saluran target jarak jauh.

videoTrack

AliRtcVideoTrack

Jenis aliran video yang akan dilanggan.

sub_audio

boolean

Apakah akan berlangganan ke aliran audio pengguna jarak jauh.

  • true: Berlangganan ke aliran audio pengguna di saluran target.

  • false: Berhenti berlangganan ke aliran audio pengguna di saluran target.

sub

boolean

Hentikan atau lanjutkan langganan silang saluran untuk aliran pengguna tertentu.

  • true: Berlangganan.

  • false: Berhenti berlangganan.

Deskripsi nilai kembali

  • 0: Panggilan metode berhasil.

  • Bukan nol: Panggilan metode gagal.

setRemoteAudioVolume

Menyesuaikan volume pemutaran aliran audio yang ditarik.

public abstract int setRemoteAudioVolume(String uid, int volume);

Anda dapat menggunakan metode ini untuk menyesuaikan volume pemutaran aliran audio pengguna tertentu di perangkat lokal.

Catatan

Pengaturan ini hanya memengaruhi pengalaman mendengarkan di perangkat lokal.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID Pengguna. Identitas unik untuk pengguna, biasanya ditetapkan oleh server aplikasi.

volume

int

Volume pemutaran, dengan rentang nilai [0, 100].

  • 0: Bisu.

  • 100: Volume asli.

Deskripsi Nilai Kembali

  • 0: Panggilan metode berhasil.

  • Bukan nol: Panggilan metode gagal, misalnya karena nilai volume tidak valid.

muteLocalMic

Menghentikan atau melanjutkan pengiriman data audio lokal.

public abstract int muteLocalMic(boolean mute, AliRtcMuteLocalAudioMode mode);
Catatan

Muting mengirimkan frame diam. Penangkapan dan encoding audio tetap berjalan.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Callback terkait

Setelah panggilan berhasil, pengguna jarak jauh memicu notifikasi <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ea457055e4izi" id="cce3d390a3xud">onUserAudioMuted</a> untuk menunjukkan apakah mereka dimute.

Parameter

Parameter

Tipe

Deskripsi

mute

boolean

Menghentikan atau melanjutkan pengiriman data audio lokal. Nilai yang valid:

  • true: Mematikan audio lokal dan mengirim frame mute.

  • false (nilai default): melanjutkan.

mode

AliRtcMuteLocalAudioMode

Mode mute. Secara default, mikrofon dimatikan.

Deskripsi Pengembalian

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan. Muting mengirimkan frame diam, tetapi penangkapan dan encoding audio tetap berjalan.

muteRemoteAudioPlaying

Menghentikan atau melanjutkan pemutaran aliran audio jarak jauh.

public abstract int muteRemoteAudioPlaying(String uid, boolean mute);

API ini mengontrol pemutaran aliran audio pengguna jarak jauh tertentu saja. API ini tidak memengaruhi penarikan atau decoding aliran audio jarak jauh. Untuk berhenti berlangganan aliran audio pengguna, panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e09342eeb0z4k" id="66a2ef0919jjg">subscribeRemoteAudioStream</a>.

Kapan Harus Menghubungi

Anda dapat mengatur ini sebelum atau setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

mute

boolean

Menghentikan atau melanjutkan pemutaran audio jarak jauh. Nilai yang valid:

  • true: Menghentikan pemutaran.

  • false (default): Melanjutkan pemutaran.

Deskripsi Nilai Kembali

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

muteAllRemoteAudioPlaying

Menghentikan atau melanjutkan pemutaran semua aliran audio jarak jauh.

public abstract int muteAllRemoteAudioPlaying(boolean mute);

Metode ini menghentikan atau melanjutkan semua aliran audio jarak jauh.

Catatan

Metode ini hanya menghentikan pemutaran. Penarikan dan decoding tidak terpengaruh.

Kapan dipanggil

Anda dapat mengatur ini sebelum atau setelah Anda bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

mute

boolean

Menghentikan atau melanjutkan pemutaran semua audio jarak jauh. Nilai yang valid adalah:

  • true: Menghentikan pemutaran.

  • false (default): Melanjutkan pemutaran.

Deskripsi Pengembalian

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

startAudioCapture[1/2]

Memulai penangkapan audio.

public abstract int startAudioCapture();

Metode ini memulai penangkapan audio. Anda dapat memanggil metode ini sebelum bergabung ke saluran untuk mengaktifkan penangkapan audio lebih awal. Jika metode ini tidak dipanggil, SDK secara otomatis mengontrol perangkat penangkapan audio. Anda juga dapat memanggil metode ini untuk mengaktifkan kembali penangkapan audio setelah memanggil stopAudioCapture.

Kapan harus memanggil

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Metode terkait

API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#b71a48f4b84n0" id="4565abdceeq8i">startAudioCapture[2/2]</a> menggunakan parameter untuk mengontrol apakah perangkat penangkapan audio tetap diaktifkan setelah Anda meninggalkan rapat.

Callback terkait

Setelah Anda memanggil metode ini, callback onLocalAudioStateChanged memberi tahu Anda tentang perubahan status penangkapan audio lokal.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

startAudioCapture[2/2]

Memulai penangkapan audio.

public abstract int startAudioCapture(boolean keepAlive);

Menonaktifkan penangkapan mikrofon setelah muting.

Metode ini memulai penangkapan audio. Anda dapat memanggilnya sebelum bergabung ke saluran untuk mengaktifkan penangkapan audio lebih awal. Jika Anda tidak mengatur metode ini, SDK secara otomatis mengontrol perangkat penangkapan audio.

Kapan Harus Menelepon

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Metode terkait

Dibandingkan dengan startAudioCapture[1/2], metode ini memungkinkan Anda mengontrol apakah perangkat penangkapan tetap aktif setelah meninggalkan saluran menggunakan parameter keepAlive.

Callback terkait

Setelah memanggil metode ini untuk mengubah status penangkapan audio lokal, Anda dapat mengambil perubahan status melalui callback onLocalAudioStateChanged.

Parameter

Parameter

Tipe

Deskripsi

keepAlive

boolean

Status perangkat pengumpulan audio setelah Anda meninggalkan saluran. Nilai yang valid:

  • true: Perangkat pengumpulan audio tetap menyala setelah Anda meninggalkan saluran.

  • false (default): Perangkat pengumpulan audio dimatikan setelah Anda meninggalkan saluran.

Deskripsi Nilai Kembali

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

stopAudioCapture

Menghentikan penangkapan audio.

public abstract int stopAudioCapture();

SDK secara default mengaktifkan penangkapan audio. Saat Anda memulai pratinjau atau bergabung ke saluran, penangkapan audio dimulai secara otomatis. Panggil metode ini untuk menghentikan penangkapan perangkat audio.

Callback terkait

Setelah Anda memanggil metode ini, SDK memicu callback onLocalAudioStateChanged untuk melaporkan perubahan status penangkapan audio lokal.

Deskripsi Kembalian

Nilai kembali 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

setDefaultAudioRoutetoSpeakerphone

Menetapkan apakah perangkat output audio default adalah speakerphone.

public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeakerphone);

Metode ini mengonfigurasi perangkat routing audio default sebelum Anda bergabung ke saluran. Anda dapat mengatur output default ke earpiece atau speakerphone. Secara default, SDK menggunakan speakerphone. Untuk mengubah pengaturan default ini, panggil metode ini sebelum bergabung ke saluran.

SDK mendefinisikan prioritas routing audio yang secara otomatis beralih berdasarkan status koneksi peripheral saat ini, sebagai berikut: wired headset > Bluetooth headset > user settings > default settings. Oleh karena itu, jika tidak ada peripheral yang terhubung dan enableSpeakerphone tidak diatur, SDK menerapkan pengaturan default.

Untuk informasi lebih lanjut tentang pengaturan routing audio, lihat pengaturan routing audio.

Perangkat seluler biasanya mendukung dua perangkat output audio: earpiece dan speakerphone:

  • Ketika audio diarahkan ke earpiece, suaranya lebih pelan dan memerlukan memegang ponsel dekat telinga, memberikan privasi yang lebih baik dan cocok untuk panggilan telepon.

  • Ketika audio diarahkan ke speakerphone, suaranya lebih keras dan memungkinkan penggunaan bebas genggam tanpa memegang ponsel ke telinga.

Metode terkait

Metode ini memodifikasi konfigurasi routing audio default. Metode enableSpeakerphone menetapkan perangkat routing audio saat ini.

Kapan dipanggil

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

defaultToSpeakerphone

boolean

Menggunakan speaker secara default?

  • true: Mode speaker (speaker default).

  • false: Mode earpiece.

Deskripsi respons

  • 0: panggilan metode berhasil.

  • <0: panggilan metode gagal.

enableSpeakerphone

Menetapkan perangkat output audio ke headset atau speaker.

public abstract int enableSpeakerphone(boolean enable);

Metode ini memilih perangkat pemutaran audio saat ini setelah bergabung ke saluran, beralih antara earpiece dan speaker. Jika Anda tidak memanggil metode ini, pemutaran menggunakan perangkat yang ditentukan oleh rute audio default.

SDK mendefinisikan urutan prioritas yang telah ditentukan untuk routing audio dan melakukan alih otomatis berdasarkan status koneksi peripheral saat ini. Urutan prioritasnya adalah sebagai berikut: wired headset > Bluetooth headset > user settings > default settings. Oleh karena itu, ketika peripheral terhubung, panggilan API ini tidak berpengaruh. Untuk informasi lebih lanjut tentang pengaturan routing audio, lihat Pengaturan Routing Audio.

Kapan Harus Menelepon

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Metode terkait

<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#d4dab00b21ebx" id="944fb5797e773">setDefaultAudioRoutetoSpeakerphone</a> memodifikasi pengaturan routing audio default dan menetapkan perangkat routing saat ini.

Parameter

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah output audio menggunakan earpiece atau speaker. Nilai yang valid:

  • true (default): mode speaker.

  • false: mode earpiece.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

isSpeakerOn

Menentukan apakah perangkat output audio saat ini adalah earpiece atau speaker.

public abstract boolean isSpeakerOn();

Deskripsi Nilai Kembali

Nilai true menunjukkan speaker. Nilai false menunjukkan earpiece.

enableAudioVolumeIndication

Mengaktifkan prompt volume pengguna.

public abstract int enableAudioVolumeIndication(int interval, int smooth, int reportVad);

Metode ini mengaktifkan SDK untuk secara berkala melaporkan volume pengguna lokal dan pengguna jarak jauh dengan volume tertinggi saat ini. Untuk menggunakan fitur ini, implementasikan kelas AliRtcAudioVolumeObserver dan panggil registerAudioVolumeObserver untuk mendaftarkan observer.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah Anda bergabung ke saluran.

Callback terkait

Setelah Anda berhasil memanggil metode ini, jika pengguna mempublikasikan aliran di saluran, SDK memicu dua callback berikut pada interval yang ditentukan:

  • Callback AliRtcAudioVolumeObserver#onAudioVolume melaporkan volume audio setiap pembicara. Frekuensi callback ini ditentukan oleh parameter interval.

  • Deteksi aktivitas suara: Ketika pembicara aktif terdeteksi, ID pengguna (UID) mereka dilaporkan melalui callback AliRtcAudioVolumeObserver#onActiveSpeaker.

Parameter

Parameter

Jenis

Deskripsi

interval

int

Interval waktu.

  • Unit: milidetik.

  • Nilai default: 300 ms.

  • Nilai minimum adalah 10 ms. Atur nilai antara 300 ms dan 500 ms. Jika nilainya 0 atau kurang, fitur prompt volume dan pembicara dinonaktifkan.

smooth

int

Koefisien penghalusan. Nilai yang lebih tinggi meningkatkan tingkat penghalusan. Nilai yang lebih rendah mengurangi penghalusan tetapi meningkatkan kinerja real-time.

  • Nilai default: 3.

  • Nilai yang valid: 0 hingga 9. Nilai yang direkomendasikan adalah 3.

reportVad

int

Sakelar untuk deteksi audio lokal.

Deskripsi Nilai Kembali

Nilai kembali 0 menunjukkan bahwa panggilan metode berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

enableEarBack

Mengaktifkan pemantauan in-ear.

public abstract int enableEarBack(boolean enable);

Metode ini mengaktifkan atau menonaktifkan pemantauan in-ear. Anda bisa mendapatkan hasil yang lebih baik dengan mengaktifkan pemantauan in-ear saat menggunakan headphone kabel atau Bluetooth.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah akan mengaktifkan pemantauan in-ear. Nilai yang valid:

  • true: mengaktifkan pemantauan in-ear.

  • false (default): menonaktifkan pemantauan in-ear.

Deskripsi nilai kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

setEarBackVolume

Menetapkan volume pemantauan in-ear.

public abstract int setEarBackVolume(int volume) ;

Metode ini hanya berlaku setelah pemantauan in-ear diaktifkan dengan memanggil enableEarBack.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

Volume

int

Volume. Nilai yang valid: 0 hingga 100. Nilai default: 100.

  • 0: Bisu.

  • 100: Volume asli (default).

Petunjuk Pengembalian

  • 0: Panggilan metode berhasil.

  • <0: Panggilan metode gagal.

startAudioPlayer

Memulai perangkat pemutaran audio.

public abstract int startAudioPlayer();

Anda dapat menggunakan metode ini untuk mengaktifkan pemutaran audio lebih awal. Jika Anda tidak memanggil metode ini, SDK secara otomatis mengaktifkan pemutaran audio setelah Anda berlangganan ke aliran audio.

Deskripsi Nilai Kembali

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal dan mengembalikan kode kesalahan.

stopAudioPlayer

Menghentikan perangkat pemutaran audio.

 public abstract int stopAudioPlayer();

Antarmuka ini menghentikan pemutaran audio dan merupakan pasangan dari startAudioPlayer.

Informasi Pengembalian

  • 0: Panggilan berhasil.

  • Bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.

setPlayoutVolume

Anda dapat mengatur volume pemutaran lokal.

public abstract int setPlayoutVolume(int volume);

Parameter

Parameter

Tipe

Deskripsi

volume

int

Volume perekaman. Rentang nilai: [0, 400].

  • 0: Bisu

  • 100: Volume asli

  • >100: Tingkatkan volume

Deskripsi respons

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal.

setRecordingVolume

Anda dapat mengatur volume perekaman.

public abstract int setRecordingVolume(int volume);

Parameter

Parameter

Tipe

Deskripsi

volume

int

Volume perekaman. Rentang nilai adalah [0, 400].

  • 0: Bisu

  • 100: Volume asli

  • >100: Volume ditingkatkan

Deskripsi Kembalian

  • 0: panggilan metode berhasil.

  • Kode nilai kembali bukan nol menunjukkan bahwa panggilan gagal.

playAudioFileTest

Anda dapat memutar file audio.

public abstract int playAudioFileTest(String filePath) ;

Anda dapat menggunakan metode ini untuk memutar file audio sebelum bergabung ke saluran guna menguji pemutaran audio.

Kapan Harus Menghubungi

Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran.

Batasan Panggilan

Panggilan ganda akan menimpa panggilan sebelumnya. Memanggil metode ini akan menghentikan file yang sedang diputar.

Parameter

Parameter

Type

Deskripsi

filePath

filePath

Jalur file.

Deskripsi nilai kembali

  • 0: panggilan metode berhasil.

  • Nilai bukan nol menunjukkan bahwa panggilan gagal.

stopAudioFileTest

Hentikan pemutaran file audio.

public abstract int stopAudioFileTest();

Antarmuka ini sesuai dengan antarmuka playAudioFileTest dan menghentikan pemutaran file audio.

Batasan

Anda hanya dapat memanggil metode ini sebelum Anda bergabung ke saluran.

Deskripsi Pengembalian

  • 0: panggilan berhasil.

  • Bukan nol: panggilan gagal.

startAudioCaptureTest

Memulai pengujian perangkat penangkapan audio sebelum panggilan.

public abstract int startAudioCaptureTest();

Anda dapat memanggil metode ini untuk menguji apakah perangkat penangkapan audio lokal berfungsi dengan benar sebelum panggilan. Setelah Anda memanggil metode ini, SDK melaporkan volume perangkat penangkapan audio melalui callback AliRtcAudioVolumeObserver::OnTestAudioVolume.

Kapan dipanggil

Anda harus memanggil metode ini sebelum bergabung ke saluran. Setelah pengujian selesai, panggil stopAudioCaptureTest untuk menghentikan pengujian dan melepaskan perangkat audio.

Deskripsi Kembalian

  • 0: Panggilan berhasil.

  • Bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.

stopAudioCaptureTest

Menonaktifkan deteksi penangkapan audio.

public abstract int stopAudioCaptureTest();

Metode ini menghentikan pengujian perangkat penangkapan audio. Setelah Anda memanggil startAudioCaptureTest, Anda harus memanggil metode ini untuk menghentikan pengujian.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum bergabung ke saluran.

Deskripsi Pengembalian

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal, dan kode kesalahan dikembalikan.

setAudioEffectVoiceChangerMode

Menetapkan mode pengubah suara.

public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);

Parameter

Parameter

Tipe

Deskripsi

mode

AliRtcAudioEffectVoiceChangerMode

Mode pengubah suara. Nilai default adalah AliRtcSdk_AudioEffect_Voice_Changer_OFF (mati).

Deskripsi Pengembalian

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

setAudioEffectPitchValue

Anda dapat mengatur parameter penyesuaian pitch.

public abstract int setAudioEffectPitchValue(double value);

Parameter

Parameter

Tipe

Deskripsi

value

double

Nilai yang valid: 0,5 hingga 2,0. Nilai default adalah 1,0, yang menunjukkan bahwa pitch tetap sama.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan metode berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

setAudioEffectReverbMode

Menetapkan mode reverb.

public abstract int setAudioEffectReverbMode(AliRtcAudioEffectReverbMode mode);

Parameter

Parameter

Tipe

Deskripsi

mode

AliRtcAudioEffectReverbMode

Mode reverb. Nilai default adalah AliRtcAudioEffectReverb_Off, yang menunjukkan tidak ada reverb.

Deskripsi Pengembalian

Nilai kembali 0 menunjukkan bahwa panggilan metode berhasil. Nilai lainnya menunjukkan bahwa panggilan metode gagal.

setAudioEffectReverbParamType

Anda dapat mengatur jenis dan parameter untuk efek suara reverb.

public abstract int setAudioEffectReverbParamType(AliRtcAudioEffectReverbParamType type, float value);

Parameter

Parameter

Tipe

Deskripsi

type

AliRtcAudioEffectReverbParamType

Parameter reverb efek suara.

value

float

Nilai parameter.

Deskripsi Pengembalian

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

setAudioEffectBeautifyMode

Menetapkan mode beautifikasi suara yang telah ditentukan sebelumnya.

public abstract int setAudioEffectBeautifyMode(AliRtcAudioEffectBeautifyMode mode);

Metode ini menetapkan mode beautifikasi suara yang telah ditentukan sebelumnya oleh SDK. Metode ini cocok untuk skenario yang memerlukan peningkatan kualitas vokal, seperti siaran langsung suara, karaoke, dan jejaring sosial suara. Dengan memilih mode beautifikasi suara, Anda dapat mengubah suara manusia, seperti membuatnya lebih resonan atau meningkatkan kejelasannya. Hal ini meningkatkan pengalaman mendengarkan bagi pengguna jarak jauh.

Kapan dipanggil

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

Mode

AliRtcAudioEffectBeautifyMode

Mode efek suara vokal. Lihat definisi enumerasi.

Nilai kembali

  • 0: Operasi berhasil.

  • Nilai bukan nol: Operasi gagal.

setAudioEffectEqualizationParam

Menetapkan parameter equalizer audio (EQ) untuk menyesuaikan gain pada pita frekuensi tertentu.

public abstract int setAudioEffectEqualizationParam(AliRtcAudioEffectEqualizationBandFrequency bandIndex, float gain);

Metode ini menyesuaikan equalizer grafis untuk sinyal suara dan audio yang ditangkap secara lokal. Dengan menyesuaikan gain (dalam dB) pada pita frekuensi tertentu, Anda dapat menyesuaikan suara untuk tujuan seperti mengoptimalkan kejelasan suara, menonjolkan vokal, dan meningkatkan pengurangan noise.

Equalizer mendukung spektrum audio penuh dari 31 Hz hingga 16 kHz di 10 pita standar. Gain untuk setiap pita dapat diatur secara independen ke nilai dari -15 dB hingga 15 dB. Nilai default adalah 0 dB, yang menunjukkan tidak ada peningkatan atau pelemahan.

Batasan

  • Anda harus mengaktifkan mode beautifikasi suara dengan memanggil setAudioEffectBeautifyMode sebelum memanggil metode ini.

Parameter

Parameter

Tipe

Deskripsi

bandIndex

AliRtcAudioEffectEqualizationBandFrequency

Indeks pita untuk disesuaikan, sesuai dengan segmen dalam rentang frekuensi tengah (31 Hz hingga 16 kHz).

gain

float

Nilai gain, dalam dB. Nilai yang valid berkisar dari -15 hingga 15.

Deskripsi Kembalian

0: Panggilan metode berhasil.

Nilai bukan nol: Panggilan metode gagal.

addExternalAudioStream

Anda dapat menambahkan aliran audio eksternal.

public abstract int addExternalAudioStream(AliRtcExternalAudioStreamConfig config);

Metode ini menambahkan aliran audio eksternal. Ikuti langkah-langkah berikut:

  1. Anda dapat memanggil API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#42b363024fich" id="20c33a9acb0ui">addExternalAudioStream</a> untuk menambahkan aliran audio eksternal dan mendapatkan ID-nya.

  2. Anda dapat memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#930f22d3dcdco" id="d3deb62b2fl0f">pushExternalAudioStreamRawData</a> untuk mendorong data audio ke aliran audio eksternal.

  3. Saat mengakhiri panggilan, Anda harus memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0333f86114078" id="16d826dedcli6">removeExternalAudioStream</a> untuk menghapus aliran audio eksternal.

Jika Anda ingin mempublikasikan penangkapan audio kustom di saluran, lihat Penangkapan Audio Kustom.

Kapan dipanggil

Parameter

Tipe

Deskripsi

config

AliRtcExternalAudioStreamConfig

Konfigurasi aliran audio eksternal.

Deskripsi Pengembalian

Nilai kembali lebih besar dari 0 menunjukkan panggilan metode berhasil dan mewakili ID aliran audio eksternal. Nilai lainnya menunjukkan bahwa panggilan metode gagal.

pushExternalAudioStreamRawData

Anda dapat memasukkan data aliran audio eksternal.

public abstract int pushExternalAudioStreamRawData(int streamId, AliRtcAudioFrame rawData);

Gunakan antarmuka ini untuk mengirim data ke aliran audio tertentu. Langkah-langkahnya adalah sebagai berikut:

  1. Panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#42b363024fich" id="8822f2932e9ep">addExternalAudioStream</a> untuk menambahkan aliran audio eksternal dan mendapatkan ID aliran audio eksternal.

  2. Panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#930f22d3dcdco" id="880fe8cd02j10">pushExternalAudioStreamRawData</a> untuk mendorong data audio ke aliran audio yang dibuat.

  3. Setelah panggilan berakhir, panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#0333f86114078" id="106c7aefa27c0">removeExternalAudioStream</a> untuk menghapus aliran audio eksternal.

Untuk informasi lebih lanjut tentang mempublikasikan audio dari sumber kustom di saluran, lihat Penangkapan Audio Kustom.

Kapan Harus Menelepon

Panggil metode ini setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

streamId

int

ID aliran audio eksternal.

rawData

AliRtcAudioFrame

Data audio

Deskripsi Kembalian

Nilai kembali 0 menunjukkan bahwa panggilan metode berhasil. Nilai lainnya menunjukkan bahwa panggilan metode gagal.

setExternalAudioStreamPublishVolume

Menetapkan volume publikasi aliran audio eksternal.

public abstract int setExternalAudioStreamPublishVolume(int streamId, int publishVolume);

Parameter

Parameter

Jenis

Deskripsi

streamId

int

ID aliran audio eksternal.

publishVolume

int

Volume audio eksternal untuk ingest aliran. Nilai yang valid: 0 hingga 100.

Deskripsi nilai kembali

Nilai kembali 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

getExternalAudioStreamPublishVolume

Mengambil volume ingest aliran audio eksternal

public abstract int getExternalAudioStreamPublishVolume(int streamId);

Parameter

Parameter

Tipe

Deskripsi

streamId

int

ID aliran audio eksternal.

Deskripsi Nilai Kembali

Volume ingest aliran: Nilai yang valid adalah 0 hingga 100. Nilai kurang dari 0 menunjukkan kegagalan.

setExternalAudioStreamPlayoutVolume

Menetapkan volume pemutaran aliran audio eksternal.

public abstract int setExternalAudioStreamPlayoutVolume(int streamId, int playoutVolume);

Parameter

Parameter

Tipe

Deskripsi

streamId

int

ID aliran audio eksternal.

playoutVolume

int

Volume pemutaran. Nilai yang valid: 0 hingga 100.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

getExternalAudioStreamPlayoutVolume

Mengambil volume pemutaran aliran audio eksternal

public abstract int getExternalAudioStreamPlayoutVolume(int streamId);

Parameter

Parameter

Tipe

Deskripsi

streamId

int

ID aliran audio eksternal.

Deskripsi respons

Volume pemutaran memiliki nilai yang valid berkisar dari 0 hingga 100. Nilai kurang dari 0 menunjukkan kegagalan.

removeExternalAudioStream

Menghapus aliran audio eksternal.

public abstract int removeExternalAudioStream(int streamId);

Metode ini menghapus aliran audio eksternal yang sesuai dengan ID aliran tertentu. Metode ini merupakan pasangan dari metode addExternalAudioStream.

Kapan Harus Menghubungi

Untuk menggunakan fitur input audio kustom, Anda harus terlebih dahulu memanggil metode addExternalAudioStream untuk menambahkan aliran audio dan mendapatkan ID alirannya. Kemudian, panggil metode pushExternalAudioStreamRawData untuk mendorong data audio Anda ke SDK. Saat Anda ingin berhenti menggunakan input audio kustom, panggil metode ini untuk menghapus aliran audio dan melepaskan resource-nya.

Parameter

Parameter

Type

Deskripsi

streamId

int

ID aliran audio eksternal, yaitu nilai kembali dari panggilan sukses ke metode `addExternalAudioStream`.

Deskripsi Pengembalian

  • 0: Panggilan berhasil.

  • <0: Panggilan gagal. Kode kesalahan dikembalikan.

getAudioFileInfo

Mengambil informasi file audio.

public abstract int getAudioFileInfo(String fileName);

Anda dapat memanggil antarmuka ini secara asinkron untuk mengambil durasi file. Ini adalah antarmuka asinkron, dan Anda dapat memperoleh informasi file audio menggunakan onAudioFileInfo.

Parameter

Parameter

Tipe

Deskripsi

fileName

String

Jalur ke file audio.

Pengantar Kembali

  • 0: Panggilan berhasil.

  • Bukan nol: Kode kesalahan dikembalikan.

startAudioAccompany

Memulai pencampuran iringan audio.

public abstract int startAudioAccompany(String fileName, AliRtcAudioAccompanyConfig config) ;

Antarmuka ini memutar file iringan lokal atau online. Ini adalah antarmuka asinkron. Setelah Anda memanggil antarmuka ini, Anda dapat memantau status pemutaran iringan menggunakan AliRtcEngineNotify#onAudioAccompanyStateChanged.

Kapan dipanggil

Anda hanya dapat memanggil metode ini setelah bergabung ke saluran.

Batasan

Tidak seperti efek suara, hanya satu iringan yang dapat diputar sekaligus. Panggilan berulang akan menimpa pemutaran iringan sebelumnya.

Parameter

Parameter

Tipe

Deskripsi

fileName

String

Jalur ke file iringan.

config

AliRtcAudioAccompanyConfig

Konfigurasi pemutaran iringan mencakup opsi untuk pemutaran lokal saja, penggantian mikrofon, jumlah loop, posisi mulai pemutaran, volume, dan pengaturan lainnya.

Deskripsi Kembalian

  • 0: Panggilan berhasil.

  • Bukan nol: Panggilan gagal dan mengembalikan kode kesalahan.

stopAudioAccompany

Menetapkan headset atau speaker sebagai perangkat output audio.

public abstract int stopAudioAccompany() ;

Antarmuka ini merupakan pasangan dari startAudioAccompany dan menghentikan pemutaran iringan audio.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Deskripsi respons

  • 0: Panggilan berhasil.

  • Bukan nol: Panggilan gagal dan mengembalikan kode kesalahan.

setAudioAccompanyVolume

Menetapkan volume iringan audio untuk pemutaran lokal dan ingest aliran.

public abstract int setAudioAccompanyVolume( int volume) ;

API ini menetapkan volume iringan audio untuk pemutaran lokal dan untuk publikasi. Untuk mengatur hanya volume pemutaran lokal, gunakan setAudioAccompanyPlayoutVolume. Untuk mengatur hanya volume publikasi, gunakan setAudioAccompanyPublishVolume.

Parameter

Parameter

Jenis

Deskripsi

volume

int

Volume iringan. Nilai yang valid: [0, 100].

0: Dibisukan.

100: Volume file asli.

Deskripsi respons

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal dan mengembalikan kode kesalahan.

setAudioAccompanyPublishVolume

Menetapkan volume iringan audio untuk ingest aliran.

public abstract int setAudioAccompanyPublishVolume(int volume) ;

Parameter

Parameter

Tipe

Deskripsi

volume

int

Volume iringan. Rentang: [0, 100].

0: Bisu.

100: Volume file asli.

Deskripsi nilai kembali

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal. Nilai yang dikembalikan adalah kode kesalahan.

getAudioAccompanyPublishVolume

Mengambil volume ingest untuk aliran iringan.

public abstract int getAudioAccompanyPublishVolume() ;

Deskripsi respons

Volume ingest untuk aliran musik iringan.

  • 0 hingga 100: berhasil.

  • Nilai lainnya: kode kesalahan.

setAudioAccompanyPlayoutVolume

Menetapkan volume pemutaran lokal iringan.

public abstract int setAudioAccompanyPlayoutVolume(int volume) ;

Parameter

Parameter

Tipe

Deskripsi

volume

int

Volume iringan. Nilai yang valid: [0, 100].

0: Bisu.

100: Volume file asli.

Deskripsi Kembalian

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal dan kode kesalahan dikembalikan.

getAudioAccompanyPlayoutVolume

Memeriksa volume pemutaran lokal iringan.

public abstract int getAudioAccompanyPlayoutVolume() ;

Deskripsi Nilai Kembali

Volume pemutaran lokal iringan.

  • [0-100]: Berhasil.

  • Nilai lainnya: Kode kesalahan.

pauseAudioAccompany

Jeda pencampuran iringan.

public abstract int pauseAudioAccompany();

Deskripsi Pengembalian

  • 0: Panggilan berhasil.

  • Bukan nol: Panggilan gagal dan mengembalikan kode kesalahan.

resumeAudioAccompany

Anda dapat memulai ulang pencampuran iringan.

public abstract int resumeAudioAccompany();

Deskripsi Pengembalian

  • Nilai 0 menunjukkan bahwa panggilan berhasil.

  • Nilai bukan nol menunjukkan bahwa panggilan gagal dan mengembalikan kode kesalahan.

getAudioAccompanyDuration

Mengambil durasi file iringan, dalam milidetik.

public abstract int getAudioAccompanyDuration();

Metode ini mengambil durasi file iringan saat ini.

Deskripsi nilai kembali

  • >= 0: durasi file iringan.

  • < 0: panggilan gagal dan mengembalikan kode kesalahan.

getAudioAccompanyCurrentPosition

Memperoleh progres pemutaran file iringan, dalam milidetik.

public abstract int getAudioAccompanyCurrentPosition();

Metode ini memperoleh progres pemutaran file iringan saat ini, dalam milidetik.

Deskripsi respons

  • Nilai lebih besar atau sama dengan 0: Progres pemutaran file iringan.

  • Nilai kurang dari 0: Panggilan gagal. Kode kesalahan dikembalikan.

setAudioAccompanyPosition

Menetapkan posisi pemutaran iringan.

public abstract int setAudioAccompanyPosition(int posMs);

Metode ini menetapkan progres pemutaran iringan. Metode ini berguna untuk fitur seperti menyeret bilah progres. Setelah metode ini dipanggil dengan sukses, iringan diputar dari posisi yang ditentukan.

Parameter

Parameter

Type

Deskripsi

posMs

int

Posisi bilah progres, dalam milidetik.

Deskripsi Kembalian

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.

preloadAudioEffect

Memuat awal efek suara.

public abstract int preloadAudioEffect(int soundId, String filePath);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

filePath

String

Jalur efek suara.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

unloadAudioEffect

Menghapus file efek suara yang telah dimuat awal.

public abstract int unloadAudioEffect(int soundId);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

playAudioEffect

Memulai pemutaran efek suara.

public abstract int playAudioEffect(int soundId, String filePath, int cycles, boolean publish);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

filePath

String

Jalur efek suara.

cycles

int

Jumlah loop. Nilai -1 menentukan loop tak terbatas.

publish

boolean

Menentukan apakah akan mendorong aliran audio efek suara ke ujung jarak jauh. Nilai yang valid:

  • true: mendorong aliran audio efek suara ke ujung jarak jauh.

  • false (default): tidak mendorong aliran audio efek suara ke ujung jarak jauh.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai bukan nol menunjukkan bahwa panggilan gagal.

stopAudioEffect

Menghentikan pemutaran efek suara.

public abstract int stopAudioEffect(int soundId);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

Deskripsi nilai kembali

Nilai kembali 0 menmenunjukkan bahwa panggilan berhasil. Nilai bukan nol menunjukkan bahwa panggilan gagal.

stopAllAudioEffects

Menghentikan pemutaran semua efek suara.

public abstract int stopAllAudioEffects();

Deskripsi Kembalian

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai bukan nol menunjukkan bahwa panggilan gagal.

setAudioEffectPublishVolume

Menetapkan volume untuk ingest aliran efek suara.

public abstract int setAudioEffectPublishVolume(int soundId, int volume);

Parameter

Parameter

Jenis

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

volume

int

Volume audio campuran. Nilai yang valid: 0 hingga 100. Nilai default: 50.

Deskripsi Kembalian

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

getAudioEffectPublishVolume

Memeriksa volume ingest aliran efek suara.

public abstract int getAudioEffectPublishVolume(int soundId);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan untuk file efek suara.

Deskripsi respons

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

setAudioEffectPlayoutVolume

Menetapkan volume pemutaran lokal efek suara.

public abstract int setAudioEffectPlayoutVolume(int soundId, int volume);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

volume

int

Volume audio campuran. Nilai yang valid: 0 hingga 100. Nilai default: 50.

Deskripsi nilai kembali

Nilai kembali 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

getAudioEffectPlayoutVolume

Mengambil volume pemutaran lokal untuk efek suara di perangkat Android dan iOS.

public abstract int getAudioEffectPlayoutVolume(int soundId);

Parameter

Parameter

Jenis

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

Deskripsi nilai kembali

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

setAllAudioEffectsPublishVolume

Menetapkan volume pencampuran untuk semua efek suara dalam ingest aliran.

public abstract int setAllAudioEffectsPublishVolume(int volume);

Parameter

Parameter

Tipe

Deskripsi

volume

int

Volume audio campuran. Nilai yang valid: 0 hingga 100. Nilai default: 50.

Deskripsi nilai kembali

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

setAllAudioEffectsPlayoutVolume

Menetapkan volume pemutaran lokal untuk semua efek suara (Android dan iOS).

public abstract int setAllAudioEffectsPlayoutVolume(int volume);

Parameter

Parameter

Tipe

Deskripsi

volume

int

Volume audio campuran. Nilai yang valid: 0 hingga 100. Nilai default: 50.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

startRecord

Memulai perekaman file media.

public abstract boolean startRecord(AliRtcRecordType recordType, AliRtcRecordFormat recordFormat, String filePath, AliRtcRecordAudioConfig audioConfig, AliRtcRecordVideoConfig videoConfig, long maxSize, long maxDuration);

Parameter

Parameter

Tipe

Deskripsi

recordType

AliRtcRecordType

Jenis perekaman.

recordFormat

AliRtcRecordFormat

Jenis format (wav, aac, mp4).

filePath

String

Nama file perekaman.

audioConfig

AliRtcRecordAudioConfig

Konfigurasi audio.

videoConfig

AliRtcRecordVideoConfig

Konfigurasi video.

maxSize

long

Ukuran file maksimum.

maxDuration

long

Durasi file maksimum.

Nilai kembali

Nilai kembali TRUE menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

Catatan
  • Panggil metode ini setelah aliran berhasil dipublikasikan (onVideoPublishStateChanged) untuk merekam aliran video yang dikodekan secara lokal ke file lokal.

  • Saat merekam aliran audio, metode ini merekam file yang berisi campuran audio lokal dan jarak jauh.

stopRecord

Menghentikan perekaman file media.

  public abstract void stopRecord();

Parameter

Tidak ada.

pauseAudioEffect

Menjeda efek suara.

public abstract int pauseAudioEffect(int soundId);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

Deskripsi Nilai Kembali

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

pauseAllAudioEffects

Menjeda semua efek suara.

public abstract int pauseAllAudioEffects();

Deskripsi Nilai Kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

resumeAudioEffect

Melanjutkan pemutaran efek suara.

public abstract int resumeAudioEffect(int soundId);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

resumeAllAudioEffects

Anda dapat melanjutkan memutar semua efek suara.

public abstract int resumeAllAudioEffects();

Deskripsi Pengembalian

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

createRenderSurfaceView

Membuat tampilan rendering SurfaceView.

public abstract SophonSurfaceView createRenderSurfaceView(Context context);

Anda harus memanggil metode ini untuk menampilkan tampilan video, bukan membuat SurfaceView secara langsung. Untuk menggunakan metode ini:

  • Tetapkan nilai kembali ke AliRtcVideoCanvas#view.

  • Panggil setLocalViewConfig untuk mengatur tampilan pratinjau lokal atau setRemoteViewConfig untuk mengatur tampilan pratinjau jarak jauh.

Kapan dipanggil

Anda dapat memanggil metode ini sebelum atau setelah Anda bergabung ke saluran.

Batasan

Anda harus memanggil metode ini pada thread utama.

Parameter

Parameter

Tipe

Deskripsi

context

Context

Context dari aktivitas Android.

setLocalViewConfig

Anda dapat mengatur jendela rendering dan parameter gambar untuk pratinjau lokal.

public abstract int setLocalViewConfig(AliRtcVideoCanvas viewConfig, AliRtcVideoTrack track);

Metode ini mengatur tampilan pratinjau lokal dengan mengikat aliran video lokal ke tampilan dan mengonfigurasi mode rendering, mode pencerminan, dan sudut rotasi tampilan pengguna lokal. Metode ini hanya memengaruhi pratinjau pengguna lokal, bukan ingest video. Untuk mengatur tampilan antarmuka pengguna jarak jauh, panggil setRemoteViewConfig.

Catatan
  • Jika parameter view dalam AliRtcVideoCanvas kosong, rendering dihentikan.

  • Untuk mengubah parameter renderMode dari AliRtcVideoCanvas selama pemutaran, pertahankan semua parameter lainnya tidak berubah dan ubah hanya renderMode.

  • Untuk memperbarui parameter mirrorMode dari AliRtcVideoCanvas selama pemutaran, pertahankan semua parameter lainnya tidak berubah dan ubah hanya mirrorMode.

  • Anda dapat secara eksplisit memanggil startPreview() untuk memulai pratinjau lokal.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Parameter

Parameter

Tipe

Deskripsi

viewConfig

AliRtcVideoCanvas

Parameter rendering, termasuk jendela rendering dan mode rendering.

track

AliRtcVideoTrack

Jenis aliran video.

Petunjuk Pengembalian

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

setRemoteViewConfig

Anda dapat mengatur jendela rendering dan parameter gambar untuk video jarak jauh.

public abstract int setRemoteViewConfig(AliVideoCanvas canvas, String uid,AliRtcVideoTrack track);

Metode ini mengikat tampilan untuk aliran video pengguna jarak jauh tertentu dan mengonfigurasi mode rendering, mode pencerminan, dan sudut rotasi video tersebut saat ditampilkan secara lokal. Metode ini hanya memengaruhi video yang ditampilkan kepada pengguna lokal. Untuk mengonfigurasi tampilan pratinjau lokal, panggil setLocalViewConfig.

  • Jika parameter view dari AliRtcVideoCanvas kosong, rendering dihentikan.

  • Untuk mengatur ulang parameter renderMode dari AliRtcVideoCanvas selama pemutaran, ubah nilai renderMode sambil menjaga parameter lainnya tetap tidak berubah.

  • Untuk mengubah parameter `mirrorMode` dari AliRtcVideoCanvas selama pemutaran, ubah nilai `mirrorMode` sambil menjaga parameter lainnya tetap tidak berubah.

Kapan Harus Memanggil

Kami menyarankan Anda memanggil fungsi ini ketika menerima callback onRemoteTrackAvailableNotify. Anda dapat mengaturnya ketika video pengguna jarak jauh tersedia.

Parameter

Parameter

Jenis

Deskripsi

canvas

AliRtcVideoCanvas

Konfigurasi rendering, termasuk jendela rendering dan mode rendering.

uid

String

ID Pengguna.

track

AliRtcVideoTrack

Jenis aliran video yang akan diatur.

Deskripsi Pengembalian

Nilai 0 menunjukkan bahwa panggilan berhasil, sedangkan nilai lainnya menunjukkan kegagalan.

setCameraCapturerConfiguration

Menetapkan preferensi penangkapan kamera, seperti arah kamera dan laju frame penangkapan.

public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);

Metode ini mengonfigurasi preferensi penangkapan, seperti arah kamera dan laju frame.

Kapan Harus Menelepon

Anda harus memanggil metode ini sebelum mengaktifkan kamera, misalnya, sebelum melakukan operasi berikut:

  • startPreview (memulai pratinjau video)

  • joinChannel (bergabung ke saluran)

Parameter

Parameter

Tipe

Deskripsi

cameraCapturerConfiguration

AliEngineCameraCapturerConfiguration

Preferensi penangkapan kamera, seperti arah kamera dan laju frame. Nilai default:

  • preference:

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_AUTO: SDK secara otomatis menyesuaikan parameter penangkapan.

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_PREVIEW: Pratinjau definisi tinggi. Penangkapan memprioritaskan kualitas pratinjau video.

    • ALIRTC_CAPTURER_OUTPUT_PREFERENCE_PERFORMANCE: Penangkapan menggunakan resolusi yang paling dekat dengan resolusi ingest aliran. Kinerja perangkat menjadi prioritas.

  • cameraDirection: AliRtcCameraDirection.CAMERA_FRONT. Default-nya adalah kamera depan.

  • fps: -1 menggunakan pengaturan laju frame internal encoder. Default-nya adalah 15.

  • cameraCaptureProfile: 0 menentukan resolusi tetap untuk penangkapan video.

  • disableVideoCaptureReverse: Mengontrol apakah frame video yang ditangkap dibalik berdasarkan rasio aspek. -1: default. 0: dinonaktifkan. 1: diaktifkan.

  • captureObserverOriginal: Mengontrol apakah SDK mengirimkan data frame video mentah dalam callback. -1: default. 0: dinonaktifkan. 1: diaktifkan.

  • textureEncode: Mengontrol apakah encoding tekstur digunakan. -1: default. 0: dinonaktifkan. 1: diaktifkan.

  • cameraTextureCapture: Mengontrol apakah kamera mengaktifkan penangkapan berbasis tekstur. -1: default. 0: dinonaktifkan. 1: diaktifkan.

"-1" menunjukkan menggunakan pengaturan default SDK.

Deskripsi Nilai Kembali

Nilai kembali 0 menunjukkan bahwa panggilan metode berhasil. Nilai lainnya menunjukkan kegagalan.

enableLocalVideo

Menonaktifkan atau mengaktifkan kembali penangkapan video lokal.

public abstract int enableLocalVideo(boolean enable);

Metode ini mengontrol pengaktifan dan penonaktifan penangkapan video lokal. Ketika penangkapan video lokal dinonaktifkan, tidak ada data video untuk pratinjau lokal atau ingest aliran, tetapi hal ini tidak memengaruhi penerimaan video jarak jauh. Jika Anda memanggil metode ini untuk menonaktifkan penangkapan kamera lokal, baik pratinjau lokal maupun ingest aliran jarak jauh tetap menampilkan frame terakhir.

Catatan

Penangkapan video lokal diaktifkan secara default di SDK.

Kapan harus memanggil

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Callback terkait

Panggilan API ini yang berhasil memberi tahu pengguna jarak jauh melalui callback onUserVideoEnabled.

Parameter

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah akan menonaktifkan atau mengaktifkan kembali pengumpulan video lokal. Nilai yang valid:

  • `true` (nilai default) mengaktifkan kembali.

  • False berarti dinonaktifkan.

Deskripsi Pengembalian

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

muteLocalCamera

Menghentikan atau melanjutkan pengiriman data video lokal.

public abstract int muteLocalCamera(boolean mute, AliRtcVideoTrack track);

Saat mengingest aliran, Anda dapat memanggil metode ini untuk mengirim frame video hitam sepenuhnya. Pratinjau lokal tetap normal, dan modul penangkapan, encoding, serta pengiriman tetap beroperasi, tetapi konten videonya terdiri dari frame hitam.

Catatan

API ini hanya mengontrol apakah akan mengirim frame hitam pada aliran video tertentu. Penangkapan dan pengiriman data video tidak akan berhenti. Untuk menghentikan penangkapan, gunakan enableLocalVideo. Untuk membatalkan pengiriman data video, gunakan publishLocalVideoStream atau panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7558afe6accq4" id="ee17216e55r3t">enableLocalVideo</a> untuk menghentikan penangkapan.

Parameter

Parameter

Tipe

Deskripsi

mute

boolean

Menghentikan atau melanjutkan publikasi track video lokal. Nilai yang valid:

  • true: Berhenti.

  • false (default): Sistem melanjutkan.

track

AliRtcVideoTrack

Jenis aliran video yang ingin Anda ubah status publikasinya.

Deskripsi Nilai Kembali

Nilai 0 menunjukkan bahwa panggilan berhasil.

isCameraOn

Memeriksa apakah kamera menyala.

public abstract boolean isCameraOn();

Return Description

Nilai true menunjukkan kamera menyala. Nilai false menunjukkan kamera mati.

setVideoEncoderConfiguration

Menetapkan properti encoding video.

public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);

Metode ini menetapkan properti encoding untuk aliran video, seperti resolusi, laju frame, bitrate, dan orientasi video. Kami menyarankan Anda memanggil metode ini untuk semua skenario video.

Catatan

Setiap parameter memiliki rentang nilai yang valid. Jika Anda mengatur parameter ke nilai di luar rentang yang valid, SDK secara otomatis menyesuaikan nilainya agar berada dalam rentang tersebut.

Kapan dipanggil

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Jika Anda hanya perlu mengatur properti encoding video untuk aliran kamera sekali per sesi, kami menyarankan Anda memanggil metode ini sebelum bergabung ke saluran.

Batasan

Parameter mirrorMode dari metode ini dan metode setVideoMirrorMode sama-sama mengatur pencerminan untuk ingest aliran video. Kami menyarankan Anda hanya menggunakan salah satu dari metode ini. Menggunakan kedua metode ini dapat menyebabkan efek pencerminan tumpang tindih, yang dapat menyebabkan kegagalan atau ketidakkonsistenan pencerminan.

Parameter

Parameter

Jenis

Deskripsi

config

AliRtcVideoEncoderConfiguration

Properti encoding yang telah ditentukan sebelumnya. Nilai default:

  • dimensions: [640,480]. Nilai maksimum adalah 1920x1080. Atur resolusi.

  • frameRate: 15

  • bitrate: 0. Ini menunjukkan bahwa SDK menghitung bitrate encoding video yang sesuai berdasarkan resolusi video dan bitrate.

  • keyFrameInterval: Interval Group of Pictures (GOP). Satuan: milidetik. Nilai default: 0. Ini menunjukkan bahwa SDK mengontrolnya secara internal.

  • forceStrictKeyFrameInterval: Memaksa encoder untuk secara ketat menghasilkan keyframe sesuai dengan interval Group of Pictures (GOP) yang ditetapkan. Nilai default: false.

  • mirrorMode: 0

  • orientationMode: 0

  • rotation: 0

  • codecType: AliRtcVideoCodecTypeDefault

  • encoderType: AliRtcVideoEncodeCodecTypeDefault

  • seiForceFrontIFrame: -1

  • enableDynamicEncode: -1

  • disableDipenseResolutionChange: -1

  • enableDowngrade: -1

  • enableH264BFrame: -1

  • enableHevcBFrame: -1

Nilai -1 menunjukkan menggunakan pengaturan default internal SDK.

setVideoDecoderConfiguration

Menetapkan properti decoding video.

    public abstract void setVideoDecoderConfiguration(AliRtcVideoDecoderConfiguration config);

Metode ini menetapkan parameter video untuk decoding aliran video.

Kapan dipanggil

Kami menyarankan memanggil metode ini sebelum bergabung ke saluran.

Parameter

Nama

Tipe

Deskripsi

config

AliRtcVideoDecoderConfiguration

Properti decoding yang telah ditentukan sebelumnya. Nilai default:

  • codecType: AliRtcVideoCodecTypeDefault. Jenis decoding, termasuk decoding perangkat lunak, decoding perangkat keras, dan decoding tekstur perangkat keras.

  • enableDecoderBframe: -1. Apakah akan menggunakan B-frame. Mengaktifkan opsi ini membuat antrian buffer selama decoding, yang meningkatkan latensi. Aktifkan opsi ini hanya jika pengirim menggunakan B-frame. Jika tidak, decoding akan gagal.

  • textureBindContext: -1. Apakah mendukung pengikatan konteks untuk decoding tekstur.

Nilai -1 berarti menggunakan pengaturan default internal SDK.

switchCamera

Anda dapat beralih antara kamera depan dan belakang. Secara default, kamera depan digunakan.

public abstract int switchCamera();

Metode ini mengontrol apakah akan menggunakan kamera depan atau belakang. Secara default, kamera depan digunakan. Anda dapat beralih secara dinamis antar kamera selama runtime aplikasi, berdasarkan kamera yang tersedia, tanpa perlu me-restart aliran video atau mengonfigurasi ulang sumber video.

Kapan dipanggil

Anda hanya dapat memanggil metode ini setelah kamera berhasil diaktifkan.

Batasan

Metode ini hanya didukung di Android dan iOS.

Deskripsi nilai kembali

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

getCurrentCameraDirection

Mengambil arah kamera saat ini.

public abstract AliRTCCameraDirection getCurrentCameraDirection();

Petunjuk Pengembalian

  • Nilai CAMERA_REAR (0) menunjukkan kamera belakang.

  • Nilai CAMERA_FRONT (1) menunjukkan kamera depan.

  • Nilai CAMERA_INVALID (-1) menunjukkan nilai tidak valid.

Catatan

Anda hanya dapat memanggil metode ini setelah kamera diaktifkan. Jika tidak, metode ini mengembalikan CAMERA_INVALID (-1).

startPreview

Memulai pratinjau lokal.

public abstract int startPreview();

Metode ini memulai pratinjau video lokal dan secara otomatis mengaktifkan kamera. Untuk menghentikan pratinjau lokal, Anda dapat memanggil metode stopPreview.

Catatan

leaveChannel Meninggalkan saluran secara otomatis menghentikan pratinjau lokal. Jika Anda tidak mempublikasikan aliran kamera, kamera akan dimatikan.

Waktu pemanggilan

  • Anda harus mengatur tampilan untuk pratinjau lokal dengan memanggil setLocalViewConfig sebelum panggilan. Jika tidak, pratinjau tidak akan ditampilkan, tetapi ingest aliran tidak terpengaruh.

  • Jika diperlukan, Anda dapat memanggil metode ini untuk memulai pratinjau sebelum memanggil joinChannel. Kamera akan otomatis menyala.

Deskripsi Pengembalian

Nilai 0 menunjukkan panggilan berhasil, sedangkan nilai lainnya menunjukkan kegagalan.

stopPreview

Menghentikan pratinjau lokal.

public abstract int stopPreview();

Metode ini menghentikan pratinjau video lokal dan mematikan kamera. Setelah pratinjau dihentikan, tampilan lokal menampilkan frame terakhir yang ditangkap, dan ingest aliran tidak terpengaruh.

Catatan

Saat Anda memanggil leaveChannel, pratinjau lokal berhenti secara otomatis. Jika Anda tidak mempublikasikan aliran kamera, kamera juga dimatikan secara otomatis.

Kapan dipanggil

Anda dapat memanggil metode ini setelah memulai pratinjau lokal.

Deskripsi Nilai Kembali

Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

setCameraZoom

Anda dapat mengatur rasio zoom kamera.

public abstract int setCameraZoom(float zoom);

Anda dapat mengatur faktor zoom kamera.

Batasan

Metode ini hanya tersedia di perangkat iOS dan Android.

Kapan dipanggil

Pengaturan ini hanya berlaku setelah Anda mengaktifkan kamera. Zoom akan diatur ulang setiap kali kamera dimulai ulang.

Parameter

Parameter

Jenis

Deskripsi

zoom

float

Faktor zoom kamera. Nilainya berkisar dari 1 hingga nilai zoom maksimum yang didukung kamera. Panggil GetCameraMaxZoomFactor untuk mendapatkan faktor zoom maksimum untuk perangkat saat ini.

Deskripsi Nilai Kembali

  • 0: panggilan berhasil.

  • Bukan nol: panggilan metode gagal.

GetCameraMaxZoomFactor

Mengambil faktor zoom maksimum (zoom optik) yang didukung kamera.

public abstract float GetCameraMaxZoomFactor();

Deskripsi Nilai Kembali

Faktor zoom maksimum yang didukung kamera perangkat.

GetCurrentZoom

Anda dapat mengambil pengaturan faktor zoom kamera saat ini.

public abstract float GetCurrentZoom();

Deskripsi Pengembalian

Faktor zoom kamera saat ini dari perangkat.

SetExposure

Anda dapat mengatur eksposur kamera.

public abstract int SetExposure(float exposure);

Saat lingkungan pemotretan terlalu gelap atau terlalu terang, kualitas penangkapan video terpengaruh. Untuk meningkatkan kualitas video, Anda dapat menggunakan metode ini untuk menyesuaikan tingkat eksposur kamera Anda. Anda dapat mengambil rentang tingkat eksposur yang didukung menggunakan GetMinExposure dan GetMaxExposure.

Parameter

Parameter

Tipe

Deskripsi

Exposure

float

Nilai eksposur kamera. Nilai default adalah 0. Ini berarti kamera menggunakan eksposur default-nya. Nilai yang lebih tinggi meningkatkan eksposur. Jika gambar video terlalu terang, kurangi nilai eksposur. Jika gambar video terlalu gelap dan detail gelap hilang, tingkatkan nilai eksposur. Jika nilai eksposur yang diberikan berada di luar rentang yang didukung perangkat, SDK akan menyesuaikannya secara otomatis.

Deskripsi respons

  • 0: panggilan berhasil.

  • Nilai bukan nol menunjukkan bahwa panggilan metode gagal.

GetCurrentExposure

Mengambil tingkat eksposur kamera.

public abstract float GetCurrentExposure();

Mengambil pengaturan tingkat eksposur kamera yang sedang digunakan.

Deskripsi nilai kembali

Tingkat eksposur kamera saat ini.

GetMinExposure

Anda dapat memperoleh eksposur minimum yang didukung kamera.

public abstract float GetMinExposure();

Deskripsi nilai kembali

Tingkat eksposur minimum kamera.

GetMaxExposure

Mengambil tingkat eksposur kamera maksimum yang didukung.

public abstract float GetMaxExposure();

Deskripsi Nilai Kembali

Tingkat eksposur maksimum kamera.

setCameraFlash

Mengaktifkan atau menonaktifkan lampu kilat kamera.

public abstract int setCameraFlash(boolean flash);

Mengaktifkan atau menonaktifkan lampu kilat.

Catatan

Umumnya, hanya kamera belakang yang mendukung fungsi lampu kilat.

Batasan

Metode ini hanya didukung di iOS dan Android.

Parameter

Parameter

Jenis

Deskripsi

flash

boolean

Aktifkan lampu kilat.

  • true: Nyalakan lampu kilat.

  • false: Matikan lampu kilat.

Deskripsi Kembalian

  • 0: Pengaturan berhasil.

  • Nilai bukan nol: Pengaturan gagal.

isCameraFocusPointSupported

Memeriksa apakah fokus manual didukung pada perangkat saat ini.

public abstract boolean isCameraFocusPointSupported();

Memeriksa apakah kamera saat ini mendukung pengaturan titik fokus untuk fokus manual.

Batasan

Metode ini hanya tersedia di iOS dan Android.

Deskripsi respons

  • true: Perangkat mendukung fokus manual.

  • false: Perangkat tidak mendukung fokus manual.

isCameraExposurePointSupported

Memeriksa apakah pengaturan titik eksposur kamera didukung.

public abstract boolean isCameraExposurePointSupported();

Menentukan apakah titik eksposur dapat diatur pada perangkat saat ini.

Batasan

Metode ini hanya tersedia di iOS dan Android.

Deskripsi Kembalian

  • true: Titik eksposur kamera dapat diatur.

  • false: Titik eksposur kamera tidak dapat diatur.

setCameraFocusPoint

Anda dapat mengatur titik fokus manual kamera.

public abstract int setCameraFocusPoint(float x, float y);

Menetapkan titik fokus untuk kamera saat ini. Setelah Anda memanggil operasi ini, kamera menyesuaikan eksposur untuk titik yang ditentukan dan kemudian mempertahankan nilai fokus tersebut. Sebelum memanggil operasi ini, kami menyarankan Anda memanggil isCameraFocusPointSupported untuk memeriksa apakah perangkat mendukung fokus manual.

Batasan

Metode ini hanya tersedia di iOS dan Android.

Panggil metode ini hanya sebelum bergabung ke saluran.

Parameter

Jenis

Deskripsi

x

float

Nilai koordinat x.

y

float

Nilai pada sumbu y.

Deskripsi Kembalian

  • 0: panggilan berhasil.

  • Bukan nol: panggilan gagal.

setCameraExposurePoint

Anda dapat mengatur titik eksposur kamera.

public abstract int setCameraExposurePoint(float x, float y);

Operasi ini menetapkan titik eksposur kamera. Setelah Anda memanggilnya, kamera menyesuaikan eksposur sekali untuk titik yang ditentukan dan mempertahankan nilai eksposur tersebut. Sebelum memanggil operasi ini, kami menyarankan Anda memanggil isCameraExposurePointSupported untuk memeriksa apakah perangkat mendukung pengaturan titik eksposur manual.

Batasan

Metode ini hanya tersedia di perangkat iOS dan Android.

Parameter

Parameter

Tipe

Deskripsi

x

float

Nilai koordinat sumbu X

y

float

nilai koordinat sumbu y

Deskripsi Pengembalian

  • 0: Panggilan metode berhasil.

  • Bukan nol: Panggilan metode gagal.

isCameraAutoFocusFaceModeSupported

Memeriksa apakah kamera mendukung fokus wajah otomatis.

public abstract boolean isCameraAutoFocusFaceModeSupported();

Menentukan apakah kamera mendukung fokus wajah otomatis.

Kapan Harus Menghubungi

Anda hanya dapat memanggil metode ini setelah kamera diaktifkan. Metode ini mengembalikan true jika kamera diaktifkan dan mendukung deteksi wajah serta fokus otomatis. Jika tidak, metode ini mengembalikan false.

Batasan

Metode ini hanya tersedia di iOS dan Android.

Deskripsi Pengembalian

  • true: Fokus wajah otomatis didukung.

  • false: Fokus wajah otomatis tidak didukung.

setCameraAutoFocusFaceModeEnabled

Anda dapat mengatur fokus wajah kamera.

public abstract boolean setCameraAutoFocusFaceModeEnabled(boolean enable);

Antarmuka ini mengaktifkan autofokus real-time pada wajah manusia. Sebelum memanggil metode ini, Anda harus memanggil isCameraAutoFocusFaceModeSupported untuk memverifikasi dukungan perangkat terhadap fitur ini.

Batasan

Metode ini hanya tersedia di iOS dan Android.

Parameter

Parameter

Tipe

Deskripsi

enable

boolean

Mengaktifkan atau menonaktifkan fitur fokus wajah kamera.

  • true: Aktifkan.

  • false: Nonaktifkan.

Deskripsi nilai kembali

  • true: Panggilan berhasil.

  • false: Panggilan gagal.

setVideoMirrorMode

Mengonfigurasi pencerminan video untuk pratinjau dan ingest aliran.

public abstract int setVideoMirrorMode(AliRtcVideoPipelineMirrorMode mirrorMode);

Menentukan apakah akan mengaktifkan mode pencerminan untuk video pratinjau lokal dan aliran video yang diingest.

Catatan

Antarmuka ini memiliki prioritas lebih tinggi daripada setLocalViewConfig dan setVideoEncoderConfiguration. Untuk mengatur mode pencerminan video, Anda dapat memanggil antarmuka ini.

Kapan Harus Menelepon

Anda dapat mengatur metode ini secara dinamis sebelum atau setelah bergabung ke saluran. SDK mencatat status secara internal dan menerapkan operasi video saat pratinjau dan encoding (ingest aliran) tersedia.

Batasan Panggilan

Metode ini tumpang tindih dengan mirrorMode di setLocalViewConfig dan setVideoEncoderConfiguration. Kami menyarankan hanya menggunakan salah satu dari metode ini.

Panggil metode ini sebelum bergabung ke saluran.

Parameter

Tipe

Deskripsi

mirrorMode

AliRtcVideoPipelineMirrorMode

Menetapkan mode cermin.

Deskripsi respons

  • 0: Pengaturan berhasil diterapkan.

  • <0: Pengaturan gagal.

    • AliRtcErrInner: Kesalahan status internal SDK. Anda dapat memeriksa apakah instans SDK berhasil dibuat.

setCapturePipelineScaleMode

Menetapkan waktu penskalaan penangkapan video.

public abstract void setCapturePipelineScaleMode(AliRtcCapturePipelineScaleMode mode);

Menetapkan apakah penskalaan data video terjadi segera setelah penangkapan atau selama encoding. Misalnya, ketika resolusi penangkapan berbeda dari resolusi encoding, Anda dapat mengatur waktu penskalaan untuk menentukan apakah data pratinjau dan data ingest aliran konsisten.

Kapan dipanggil

Tetapkan metode ini sebelum mengaktifkan kamera. Misalnya, atur sebelum memulai pratinjau dengan startPreview atau bergabung ke saluran dengan joinChannel.

Parameter

Parameter

Jenis

Deskripsi

mode

AliRtcCapturePipelineScaleMode

Mode ini mengontrol waktu penskalaan koleksi. Secara default, penskalaan terjadi segera setelah koleksi.

Deskripsi Kembalian

Tidak ada.

setExternalVideoSource

Mengaktifkan sumber input video eksternal.

public abstract void setExternalVideoSource(boolean enable,boolean useTexture,
 AliRtcVideoTrack streamType,AliRtcRenderMode renderMode);

Parameter

Parameter

Tipe

Deskripsi

enable

boolean

Menentukan apakah akan mengaktifkan sumber input video eksternal. Nilai yang valid:

  • true: Aktifkan.

  • false (default): Nonaktifkan.

useTexture

boolean

Menentukan apakah akan menggunakan mode tekstur.

  • true: Aktifkan.

  • false (nilai default): Pengaturan dinonaktifkan.

type

AliRtcVideoTrack

Jenis aliran video.

renderMode

AliRtcRenderMode

Mode rendering.

pushExternalVideoFrame

Mengimpor data video.

public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);

Parameter

Parameter

Tipe

Deskripsi

aliRawDataFrame

AliRtcRawDataFrame

Data frame.

streameType

AliRtcVideoTrack

Jenis aliran video.

Deskripsi respons

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

startPublishLiveStream

Memulai streaming langsung yang diteruskan.

public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Parameter

Parameter

Tipe

Deskripsi

streamUrl

String

URL ingest.

transcodingParam

AliRtcLiveTranscodingParam

Parameter ingest aliran.

Deskripsi respons

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan.

updatePublishLiveStream

Anda dapat memperbarui parameter streaming langsung bypass.

public abstract int updatePublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);

Parameter

Parameter

Tipe

Deskripsi

streamUrl

String

URL ingest.

transcodingParam

AliRtcLiveTranscodingParam

Parameter ingest aliran.

Instruksi Pengembalian

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

stopPublishLiveStream

Hentikan streaming langsung bypass.

public abstract int stopPublishLiveStream(String streamUrl);

Parameter

Parameter

Tipe

Deskripsi

streamUrl

String

URL ingest.

Deskripsi nilai kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

getPublishLiveStreamState

Ambil status streaming langsung bypass.

public abstract AliRtcEngine.AliRtcLiveTranscodingState getPublishLiveStreamState(String streamUrl);

Parameter

Parameter

Tipe

Catatan

streamUrl

String

URL ingest untuk streaming langsung bypass.

Instruksi Pengembalian

Mengembalikan status streaming langsung bypass.

startNetworkQualityProbeTest

Anda dapat mengaktifkan probing kualitas jaringan.

public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);

Parameter

Parameter

Jenis

Deskripsi

config

AlirtcNetworkQualityProbeConfig

Parameter konfigurasi probe.

Deskripsi nilai kembali

Nilai 0 menunjukkan keberhasilan, sedangkan nilai bukan nol menunjukkan kegagalan.

stopNetworkQualityProbeTest

Menghentikan pengujian kualitas jaringan.

public abstract int stopNetworkQualityProbeTest();

Deskripsi Nilai Kembali

Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.

sendMediaExtensionMsg

Anda dapat mengirim informasi ekstensi media.

public abstract int sendMediaExtensionMsg(byte[]message, int repeatCount, int delay, boolean isKeyFrame);

SDK memungkinkan Anda mengirim dan menerima pesan ekstensi media. Metode pengiriman menggunakan protokol ekstensi SEI. Penerima dapat memperoleh pesan dengan mendengarkan event onMediaExtensionMsgReceived.

Kasus penggunaan umum meliputi hal berikut:

  • Gunakan informasi ekstensi media untuk mengirimkan timestamp, menghitung latensi jaringan end-to-end, atau menyinkronkan data dengan operasi bisnis lainnya.

  • Gunakan informasi ekstensi media untuk mengirimkan informasi deskriptif. Anda dapat mengirimkan hingga 4 KB data, yang cocok untuk jumlah data kecil. Kami menyarankan menggunakan JSON atau string biasa.

Kapan Harus Menghubungi

Anda dapat memanggil metode ini setelah memulai ingest aliran.

Batasan

Menggunakan informasi ekstensi media memerlukan penggunaan kembali saluran data audio dan video. Oleh karena itu, Anda harus mengontrol seberapa sering Anda mengirim pesan kustom dan panjang data pesan. Batasannya adalah sebagai berikut:

  • Anda dapat mengirim hingga pesan fps per detik, sebagaimana ditentukan dalam profil, karena informasi SEI disematkan dalam aliran H.264 atau H.265 dan memerlukan encoding frame video untuk melampirkan informasi ekstensi.

  • Untuk menghindari dampak pada kualitas transmisi data media, badan pesan kustom dibatasi hingga 4 KB, sehingga cocok untuk jumlah informasi kecil.

  • Parameter repeatCount dalam fungsi sendMediaExtensionMsg menentukan tingkat redundansi untuk pesan kustom. Jika nilai ini lebih besar dari 1, pesan dikirim beberapa kali.

  • Redundansi ini membantu mencegah kehilangan pesan akibat kehilangan paket jaringan. Dalam kasus tersebut, peserta lain di ruangan menerima beberapa pesan identik dan harus menghapus duplikatnya.

  • Pelanggan di ruangan juga menerima pesan kustom selama streaming langsung yang diteruskan.

  • Hanya satu MediaExtensionMsg yang ditransmisikan sekaligus. Beberapa panggilan ke sendMediaExtensionMsg akan menimpa data yang sedang dalam antrian.

Callback terkait

Pengguna yang menarik aliran dapat mengambil informasi ekstensi media yang dikirim oleh pengguna yang mengingest aliran dengan mendengarkan callback onMediaExtensionMsgReceived.

Parameter

Parameter

Tipe

Deskripsi

message

byte[]

Informasi ekstensi media. Panjang maksimum adalah 4 KB.

repeatCount

int

Jumlah pengulangan menunjukkan redundansi pesan. Ini mencegah kehilangan pesan akibat kehilangan paket jaringan. Nilai -1 berarti transmisi tak terbatas.

Delay

int

Penundaan dalam milidetik. Ini adalah waktu minimum yang harus ditunggu setelah memanggil API sebelum mengirim informasi ekstensi.

isKeyFrame

boolean

Menentukan apakah akan melampirkan informasi ekstensi hanya ke keyframe. Nilai true melampirkan informasi hanya ke keyframe.

Petunjuk Pengembalian

  • 0: Panggilan berhasil.

  • <0: Panggilan gagal. Kode kesalahan dikembalikan.

    • ERR_INNER(-1): Kesalahan internal SDK. Kemungkinan penyebab: SDK belum diinisialisasi, atau dipanggil setelah dihancurkan.

sendMediaExtensionMsgEx

Mengirim informasi ekstensi media.

public abstract int sendMediaExtensionMsgEx(byte[]message, int repeatCount, int delay, boolean isKeyFrame, int payloadType);

SDK menyediakan fitur untuk mengirim dan menerima informasi ekstensi media. Metode ini mengirim informasi ekstensi media menggunakan protokol ekstensi SEI. Anda dapat memperoleh informasi dengan mendengarkan onMediaExtensionMsgReceived. Ketika payloadType adalah 5, ini setara dengan menggunakan antarmuka sendMediaExtensionMsg.

Kasus penggunaan umum meliputi hal berikut:

  • Gunakan informasi ekstensi media untuk mengirimkan timestamp, menghitung latensi jaringan end-to-end, atau menyinkronkan data dengan operasi bisnis lainnya.

  • Gunakan informasi ekstensi media untuk mengirimkan informasi deskriptif. Anda dapat mengirimkan hingga 4 KB data, yang cocok untuk jumlah data kecil. Kami menyarankan menggunakan JSON atau string biasa.

Kapan Menghubungi

Anda dapat memanggil metode ini setelah Anda memulai ingest aliran.

Batasan

Menggunakan informasi ekstensi media memerlukan penggunaan kembali saluran data audio dan video. Oleh karena itu, Anda harus mengontrol seberapa sering Anda mengirim pesan kustom dan panjang data pesan. Batasannya adalah sebagai berikut:

  • Anda dapat mengirim hingga pesan fps per detik, sebagaimana ditentukan dalam profil, karena informasi SEI disematkan dalam aliran H.264 atau H.265 dan memerlukan encoding frame video untuk melampirkan informasi ekstensi.

  • Untuk menghindari penurunan kualitas transmisi data media, badan pesan kustom dibatasi hingga 4 KB, sehingga cocok untuk jumlah informasi kecil.

  • Parameter repeatCount dalam fungsi sendMediaExtensionMsg menentukan tingkat redundansi untuk pesan kustom. Jika nilai ini lebih besar dari 1, pesan dikirim beberapa kali.

  • Redundansi ini membantu mencegah kehilangan pesan akibat kehilangan paket jaringan. Dalam kasus tersebut, peserta lain di ruangan menerima beberapa pesan identik dan harus menghapus duplikatnya.

  • Pelanggan di ruangan juga menerima pesan kustom selama streaming langsung yang diteruskan.

  • Hanya satu MediaExtensionMsg yang ditransmisikan sekaligus. Beberapa panggilan ke sendMediaExtensionMsg akan menimpa data yang sedang dalam antrian.

Deskripsi Parameter

Parameter

Tipe

Deskripsi

Message

byte[]

Informasi ekstensi media. Panjang maksimum: 4 KB.

repeatCount

int

Jumlah pengulangan, yang mewakili redundansi pesan untuk mencegah kehilangan pesan akibat kehilangan paket jaringan. Nilai -1 berarti transmisi tak terbatas.

Delay

int

Penundaan, dalam milidetik. Ini adalah waktu terpendek untuk mengirim data ekstensi setelah panggilan API.

isKeyFrame

boolean

Hanya keyframe yang menggunakan informasi ekstensi. Jika true, informasi ekstensi hanya dilampirkan ke keyframe.

payloadType

int

Rentang [5, 100..254] untuk payloadType=5 setara dengan menggunakan antarmuka sendMediaExtensionMsg.

Deskripsi nilai kembali

  • 0: Panggilan berhasil.

  • <0: Panggilan gagal dan mengembalikan kode kesalahan.

    • ERR_INNER(-1): Terjadi kesalahan internal SDK. Kemungkinan penyebab termasuk kegagalan inisialisasi SDK atau memanggil SDK setelah dihancurkan.

onConnectionStatusChange

Callback ini dipanggil ketika status koneksi jaringan berubah. Penting untuk memantau callback ini.

public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
 AliRtcEngine.AliRtcConnectionStatusChangeReason reason);

Parameter

Parameter

Jenis

Deskripsi

status

AliRtcConnectionStatus

Status koneksi jaringan saat ini.

reason

AliRtcConnectionStatusChangeReason

Alasan perubahan status koneksi jaringan.

OnLocalDeviceException

Callback yang dipanggil ketika terjadi pengecualian perangkat lokal. Perhatikan baik-baik callback ini.

public void OnLocalDeviceException(AliRtcEngine.AliRtcEngineLocalDeviceType deviceType, AliRtcEngine.AliRtcEngineLocalDeviceExceptionType exceptionType, String msg)

Parameter

Parameter

Tipe

Deskripsi

deviceType

AliRtcEngineLocalDeviceType

Jenis perangkat

exceptionType

AliRtcEngineLocalDeviceExceptionType

Jenis pengecualian perangkat.

msg

String

Informasi yang dibawa dalam pengecualian.

onAuthInfoWillExpire

Callback ini menunjukkan bahwa autentikasi pengguna akan kedaluwarsa dalam 30 detik. Anda harus menangani callback ini.

public void onAuthInfoWillExpire();

Callback ini menunjukkan bahwa informasi autentikasi pengguna akan kedaluwarsa dalam 30 detik. Anda harus mendapatkan token baru dan memperbarui informasi autentikasi menggunakan salah satu metode berikut:

  • Panggil <a baseurl="t2309760_v6_4_1.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#975b9af9ecq1a" id="8099ac5a509hn">refreshAuthInfo</a> untuk memperbarui informasi autentikasi.

  • Panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="fe88be037dy4g">leaveChannel</a> untuk meninggalkan saluran saat ini, lalu panggil joinChannel untuk bergabung kembali ke saluran.

Waktu Pemicu

SDK memicu callback ini 30 detik sebelum informasi autentikasi pengguna kedaluwarsa. Saat Anda menerima callback ini, Anda harus segera memperbarui informasi autentikasi.

onAuthInfoExpired

Pengguna memanggil antarmuka yang memerlukan autentikasi, dan server mengembalikan informasi kedaluwarsa.

public void onAuthInfoExpired();

Callback ini menunjukkan bahwa informasi autentikasi pengguna telah kedaluwarsa. Jika Anda ingin tetap berada dalam sesi, Anda harus menghasilkan token baru di server dan kemudian memperbarui informasi autentikasi menggunakan metode berikut:

  • Anda dapat memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="c3b0cf2f19dgm">leaveChannel</a> untuk keluar dari saluran saat ini. Kemudian, panggil joinChannel untuk masuk kembali.

Waktu Pemicu

Callback ini dipicu ketika informasi autentikasi pengguna kedaluwarsa.

onJoinChannelResult

Callback ini mengembalikan hasil bergabung ke saluran.

public void onJoinChannelResult(int result, String channel, String userId, int elapsed);

Parameter

Parameter

Tipe

Deskripsi

result

int

Hasil permintaan untuk bergabung ke saluran. Nilai 0 menunjukkan keberhasilan. Nilai bukan nol menunjukkan kode kesalahan. Untuk informasi lebih lanjut, lihat Kode kesalahan. Berikut adalah kode kesalahan umum:

  • ERR_JOIN_BAD_APPID: AppId tidak ada.

  • ERR_JOIN_INVALID_APPID: AppId tidak valid.

  • ERR_JOIN_BAD_CHANNEL: Saluran tidak ada.

  • ERR_JOIN_INVALID_CHANNEL: Saluran tidak valid.

  • ERR_JOIN_BAD_TOKEN: Token tidak ada.

  • ERR_JOIN_TIMEOUT: Permintaan untuk bergabung ke saluran melebihi batas waktu.

  • ERR_JOIN_BAD_PARAM: Parameter tidak valid untuk bergabung ke saluran.

  • ERR_JOIN_FAILED: Gagal bergabung ke saluran.

  • ERR_JOIN_CONFIG_INVALID: Parameter bergabung tidak valid, seperti token kosong.

channel

String

ID saluran.

userId

String

ID Pengguna.

elapsed

int

Waktu yang dibutuhkan untuk bergabung ke saluran. Satuan: milidetik.

onLeaveChannelResult

Callback yang mengembalikan hasil meninggalkan saluran.

public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);

Kondisi Pemicu

Callback ini dipicu ketika aplikasi berhasil memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="7f3d2133c81tx">leaveChannel</a> dan sistem mengembalikan hasil meninggalkan saluran bersama dengan informasi statistik sesi.

Catatan

Jika Anda memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="fdccda828dzqt">leaveChannel</a> lalu segera memanggil destroy untuk menghancurkan engine, callback ini tidak akan dipicu.

Parameter

Parameter

Tipe

Deskripsi

result

int

Hasil meninggalkan saluran. Nilai 0 menunjukkan keberhasilan. Nilai bukan nol menunjukkan kode kesalahan jika operasi gagal.

stats

AliRtcStats

Data statistik untuk sesi di saluran ini.

onRemoteUserOffLineNotify

Callback offline untuk pengguna jarak jauh.

public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);

Callback ini memberi tahu pengguna lokal bahwa pengguna jarak jauh telah meninggalkan saluran karena mereka offline.

Kondisi Pemicu

  • Ketika pengguna jarak jauh secara aktif meninggalkan saluran, callback dipicu.

  • Ketika streamer jarak jauh memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="4c0adbe948tif">setClientRole</a> untuk beralih ke peran viewer (dengan memanggil AliRtcEngine#setClientRole dan mengatur peran ke AliRTCSdkLive), callback dipicu.

  • Ketika streamer jarak jauh dianggap offline karena tidak menerima data dari mereka dalam periode yang lama, callback dipicu.

Parameter

Parameter

Jenis

Deskripsi

uid

String

ID pengguna jarak jauh.

reason

AliRtcUserOfflineReason

Alasan pengguna offline.

onRemoteUserOnLineNotify

Callback ini dipanggil ketika pengguna jarak jauh online.

public void onRemoteUserOnLineNotify(String uid, int elapsed);

Metode ini memberi tahu klien lokal bahwa pengguna jarak jauh telah bergabung ke saluran.

Kondisi Pemicu

  • Pengguna jarak jauh bergabung ke saluran.

  • Setelah pengguna lokal bergabung ke saluran, callback ini dipanggil untuk setiap pengguna yang sudah berada di saluran. Hal ini memungkinkan pengguna lokal mengidentifikasi pengguna yang sudah ada.

Parameter

Parameter

Type

Deskripsi

uid

String

ID pengguna jarak jauh.

elapsed

int

Waktu yang dibutuhkan pengguna untuk bergabung ke saluran. Satuan: milidetik.

onRemoteTrackAvailableNotify

Callback ini dipanggil ketika aliran audio dan video pengguna jarak jauh berubah.

public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
 AliRtcVideoTrack videoTrack);

Callback ini dipicu ketika status ingest aliran pengguna jarak jauh berubah. Melalui callback ini, developer dapat memperoleh informasi real-time tentang apakah pengguna jarak jauh sedang mengingest aliran audio dan video, dan sesuai dengan itu menampilkan atau menyembunyikan informasi audio dan video pengguna jarak jauh.

Catatan

Callback ini mengembalikan status ingest aliran pengguna jarak jauh. Untuk menentukan aliran mana yang offline selama perubahan ini, catat perubahan status sebelum dan sesudah callback.

Kondisi Pemicu

Callback ini dipicu dalam skenario berikut:

  • Ketika pengguna jarak jauh berubah dari tidak mengingest aliran menjadi mengingest aliran (termasuk audio dan video).

  • Ketika pengguna jarak jauh berhenti mengalirkan audio dan video.

  • Dalam mode interaktif, callback ini dipicu ketika pengguna jarak jauh memanggil setClientRole untuk beralih dari peran viewer ke peran streamer dan mengonfigurasi ingest aliran.

Misalnya, untuk video, callback ini tidak dipicu jika pengguna jarak jauh tidak melakukan ingest aliran.

  • Ketika pengguna jarak jauh mulai mengingest aliran kamera (status ingest aliran: tidak ada aliran video -> hanya aliran kamera), callback lokal mengembalikan AliRtcVideoTrackCamera, yang menunjukkan bahwa aliran kamera pengguna jarak jauh tersedia.

  • Ketika pengguna jarak jauh juga mengingest aliran berbagi layar (status ingest aliran: hanya aliran kamera -> aliran kamera dan aliran berbagi layar), callback lokal mengembalikan AliRtcVideoTrackBoth, yang menunjukkan bahwa aliran kamera dan aliran berbagi layar pengguna jarak jauh tersedia.

  • Ketika pengguna jarak jauh berhenti mengingest aliran kamera dan hanya mempertahankan aliran berbagi layar (status ingest aliran: aliran kamera dan aliran berbagi layar -> hanya aliran berbagi layar), callback lokal mengembalikan AliRtcVideoTrackScreen, yang menunjukkan bahwa hanya aliran berbagi layar yang saat ini tersedia.

  • Ketika pengguna jarak jauh berhenti mengingest aliran berbagi layar (status ingest aliran: hanya aliran berbagi layar -> tidak ada aliran video), callback lokal mengembalikan AliRtcVideoTrackNo, yang menunjukkan bahwa tidak ada aliran video yang saat ini tersedia.

Parameter

Parameter

Type

Deskripsi

uid

String

ID pengguna jarak jauh.

audioTrack

AliRtcAudioTrack

Aliran audio pengguna jarak jauh setelah perubahan.

videoTrack

AliRtcVideoTrack

Aliran video pengguna jarak jauh setelah perubahan.

onBye

Callback yang dipanggil ketika pengguna dipaksa meninggalkan saluran atau saluran ditutup.

public void onBye(int code);

Callback ini dipicu ketika pengguna terputus atau sesi berakhir. Anda dapat menggunakan parameter code untuk menentukan alasan pemutusan dan menanganinya sesuai kebutuhan.

Kondisi Pemicu

  • Pengguna saat ini dikeluarkan oleh server.

  • Sesi berakhir karena server menutup saluran.

  • Terjadi pemutusan yang tidak terduga, yang mengharuskan klien mencoba memulihkan sesi atau menyambung kembali.

Parameter

Parameter

Tipe

Deskripsi

code

int

Alasan pengguna dikeluarkan dari saluran. Untuk informasi lebih lanjut, lihat AliRtcOnByeType.

onAudioPublishStateChanged

Callback ini dipanggil ketika status ingest aliran audio berubah.

public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState,
 int elapseSinceLastState, String channel);

Callback ini memantau perubahan status ingest aliran audio pengguna lokal.

Kondisi Pemicu

Callback ini dipicu ketika status ingest aliran audio pengguna berubah, seperti:

  • Pengguna berhenti mengingest aliran.

  • Pengguna memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#84f350f904s98" id="e6c8edfc45xbw">setClientRole</a> untuk beralih ke viewer.

Parameter

Parameter

Tipe

Deskripsi

oldState

AliRtcPublishState

Status ingest aliran sebelumnya.

newState

AliRtcPublishState

Status ingest aliran saat ini.

elapseSinceLastState

int

Interval antara perubahan status. Satuan: milidetik.

channel

String

ID saluran.

onAudioSubscribeStateChanged

Callback yang dipanggil ketika status langganan audio berubah.

public void onAudioSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Callback ini memberi tahu pengguna lokal tentang perubahan status langganan aliran audio pengguna jarak jauh. Callback ini juga melaporkan perubahan status langganan aliran kamera pengguna jarak jauh dan memberikan waktu yang berlalu antara status sebelumnya dan saat ini.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

oldState

AliRtcSubscribeState

Status langganan sebelumnya.

newState

AliRtcSubscribeState

Status langganan saat ini.

elapseSinceLastState

int

Interval perubahan status. Satuan: milidetik.

channel

String

ID saluran saat ini.

onUserAudioMuted

Notifikasi dikirim ketika pengguna jarak jauh berhenti mengirim data audio.

public void onUserAudioMuted(String uid ,boolean isMute);

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna yang mematikan track audio.

isMute

boolean

Menunjukkan apakah track audio dimatikan. Nilai yang valid:

  • true: dimatikan

  • false: tidak dimatikan

onUserAudioInterruptedBegin

Callback ini dipanggil ketika audio pengguna terganggu.

public void onUserAudioInterruptedBegin(String uid);

Parameter

Parameter

Jenis

Deskripsi

uid

String

Pengguna yang audio-nya terganggu.

onUserAudioInterruptedEnded

Notifikasi dikirim ketika gangguan audio pengguna berakhir.

public void onUserAudioInterruptedEnded(String uid);

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna yang track audio-nya terganggu.

onVideoPublishStateChanged

Callback untuk perubahan ingest aliran video.

public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , 
 AliRtcEngine.AliRtcPublishState newState, 
 int elapseSinceLastState, String channel);

Callback ini memantau status ingest aliran video pengguna lokal untuk perubahan.

Parameter

Parameter

Type

Deskripsi

oldState

AliRtcPublishState

Status ingest aliran sebelumnya.

newState

AliRtcPublishState

Status ingest aliran saat ini.

elapseSinceLastState

int

Interval waktu antara perubahan status. Satuan: milidetik.

channel

String

ID saluran.

onVideoSubscribeStateChanged

Callback ini dipanggil ketika status langganan aliran kamera berubah.

public void onVideoSubscribeStateChanged(String uid,
 AliRtcEngine.AliRtcSubscribeState oldState,
 AliRtcEngine.AliRtcSubscribeState newState,
 int elapseSinceLastState, String channel);

Callback ini memberi tahu pengguna lokal tentang perubahan status langganan aliran kamera pengguna jarak jauh. Melalui callback ini, Anda dapat memperoleh informasi tentang perubahan status langganan aliran kamera pengguna jarak jauh tertentu dan interval waktu antara status sebelumnya dan saat ini.

Callback terkait

Aliran video mencakup aliran kamera dan aliran berbagi layar. Metode ini menangani perubahan status langganan aliran kamera. Callback terkait untuk aliran berbagi layar adalah onScreenShareSubscribeStateChanged.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

oldState

AliRtcSubscribeState

Status langganan sebelumnya.

newState

AliRtcSubscribeState

Status langganan saat ini.

elapseSinceLastState

int

Interval waktu antara perubahan status.

channel

String

ID saluran saat ini.

onUserVideoMuted

Pengguna lawan mengirim notifikasi ketika mengirimkan frame hitam video.

public void onUserVideoMuted(String uid, boolean isMute);

Parameter

Parameter

Tipe

Deskripsi

uid

String

Pengguna yang menjalankan enableLocalVideo.

isMute

boolean

Menentukan apakah akan mengirim frame hitam. Nilai yang valid:

  • true: Mengirim frame hitam.

  • false: Ingest aliran normal.

onUserVideoEnabled

Notifikasi dikirim ketika pengguna jarak jauh menghentikan aliran kamera.

public void onUserVideoEnabled(String uid, boolean isMute);

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

isMute

boolean

Mengaktifkan koleksi track kamera. Nilai yang valid:

  • true: mengaktifkan koleksi track kamera

  • false: menonaktifkan koleksi track kamera

onUserWillResignActive

Callback ini dipanggil ketika aplikasi pengguna jarak jauh beralih ke latar belakang.

public void onUserWillResignActive(String uid);

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID Pengguna.

onUserWillBecomeActive

Aplikasi pengguna jarak jauh kembali ke latar depan.

public void onUserWillBecomeActive(String uid);

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna.

onAliRtcStats

Callback ini dipicu setiap dua detik untuk melaporkan statistik sesi saat ini.

public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);

Parameter

Parameter

Jenis

Deskripsi

stats

AliRtcStats

Statistik sesi.

onAudioEffectFinished

Callback ini dipanggil ketika efek suara lokal selesai diputar.

void OnAudioEffectFinished(int soundId);

Parameter

Parameter

Tipe

Deskripsi

soundId

int

ID yang ditetapkan pengguna untuk file efek suara.

onAudioFileInfo

Callback untuk informasi file audio.

public void onAudioFileInfo(AliRtcEngine.AliRtcAudioFileInfo info, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Ketika Anda memanggil getAudioFileInfo, callback ini dipicu dan mengembalikan informasi seperti durasi file audio atau pesan kesalahan.

Parameter

Parameter

Tipe

Deskripsi

Information

AliRtcEngine.AliRtcAudioFileInfo

Informasi file audio, termasuk jalur file dan durasi.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Kode kesalahan iringan audio, terutama menunjukkan kegagalan membuka file atau kegagalan mendekode file.

onMediaExtensionMsgReceived

Callback ini dipanggil ketika informasi ekstensi media diterima.

public void onMediaExtensionMsgReceived(String uid, int payloadType, byte[]message);

Ketika ujung (endpoint) memanggil sendMediaExtensionMsg untuk mengirim pesan, ujung lain menerima data melalui callback ini.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID Pengguna. ID pengguna yang mengirim informasi media.

payloadType

int

Jenis muatan. `sendMediaExtensionMsg` mengembalikan 5. `sendMediaExtensionMsgEx` mengembalikan jenis tertentu.

Message

byte[]

Informasi ekstensi media.

onFirstRemoteVideoFrameDrawn

Callback ini dipanggil ketika frame video pertama dari pengguna jarak jauh dirender.

public void onFirstRemoteVideoFrameDrawn(String uid,AliRtcVideoTrack videoTrack, int width, int height, int elapsed);

Callback ini menunjukkan rendering frame video jarak jauh pertama. Callback ini dipicu ketika pengguna lokal berhasil menerima dan merender frame video pertama dari pengguna jarak jauh. Callback ini membantu developer memantau waktu pembentukan tautan video jarak jauh, mengevaluasi kinerja jaringan dan perangkat, serta mengoptimalkan pengalaman pengguna.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

videoTrack

AliRtcVideoTrack

Jenis aliran video yang akan diterima.

Width

int

Lebar aliran video yang ditarik.

Height

int

Tinggi aliran video yang ditarik.

elapsed

int

Total penundaan dalam milidetik dari saat pengguna lokal bergabung ke saluran hingga frame pertama dari aliran video yang ditarik muncul.

onFirstLocalVideoFrameDrawn

Callback ini dipanggil ketika frame video lokal pertama dirender selama pratinjau.

public void onFirstLocalVideoFrameDrawn(int width, int height, int elapsed);

Callback ini dipicu setelah kamera lokal diaktifkan dan frame video pertama dirender. Anda dapat menggunakan callback ini untuk memantau kecepatan rendering pratinjau video lokal, mengevaluasi kinerja perangkat, dan mengoptimalkan pengalaman pengguna, seperti menampilkan pesan "Kamera siap" atau menyesuaikan tata letak pratinjau.

Parameter

Parameter

Type

Deskripsi

width

int

Lebar video pratinjau lokal.

height

int

Tinggi pratinjau video lokal.

Elapsed

int

Total waktu yang berlalu (dalam milidetik) dari saat pengguna lokal bergabung ke saluran hingga pratinjau lokal menampilkan frame pertama.

onFirstVideoFrameReceived

Callback ini dipanggil ketika frame video pertama dari pengguna jarak jauh diterima.

public void onFirstVideoFrameReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Anda dapat menggunakan callback ini untuk memantau waktu pembentukan tautan video, mengevaluasi kualitas jaringan, dan mengoptimalkan pengalaman pengguna. Misalnya, Anda dapat menampilkan pesan "Video siap" atau menyesuaikan logika pemutaran.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

videoTrack

AliRtcVideoTrack

Jenis aliran video yang akan diterima.

timeCost

int

Waktu untuk mengirim paket video pertama, diukur dalam milidetik sejak pengguna bergabung ke rapat.

onFirstVideoPacketSent

Callback ini dipanggil ketika paket video pertama dikirim.

public void onFirstVideoPacketSent(String uid, AliRtcVideoTrack videoTrack, int timeCost);

Callback ini dipicu ketika pengguna lokal berhasil mengirim paket data video pertama. Callback ini membantu developer memantau kecepatan pembentukan tautan pengiriman video, mengevaluasi kinerja perangkat lokal, dan mengoptimalkan pengalaman pengguna—misalnya dengan menampilkan "Video dikirim" atau menyesuaikan kebijakan penangkapan.

Parameter

Parameter

Type

Deskripsi

UID

String

ID pengguna jarak jauh.

videoTrack

AliRtcVideoTrack

Jenis aliran video yang diterima.

timeCost

int

Waktu dari bergabung ke rapat hingga mengirim paket video pertama. Diukur dalam milidetik.

onFirstAudioPacketSent

Callback ini dipanggil ketika pengguna lokal berhasil mengirim paket audio pertama.

public void onFirstAudioPacketSent(String uid, AliRtcAudioTrack track, int timeCost);

Developer dapat menggunakan callback ini untuk memantau seberapa cepat tautan pengiriman audio dibentuk, mengevaluasi kinerja sistem dan perangkat lokal, serta mengoptimalkan pengalaman pengguna.

Parameter

Parameter

Tipe

Deskripsi

UID

String

ID pengguna jarak jauh.

track

AliRtcAudioTrack

Jenis aliran audio yang diterima.

timeCost

int

Durasi pengiriman: Waktu yang berlalu dari bergabung ke sesi hingga paket audio pertama dikirim. Satuan: milidetik.

onFirstVideoPacketReceived

Callback ini dipanggil ketika paket video pertama diterima.

public void onFirstVideoPacketReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost)

Callback ini menunjukkan penerimaan paket video jarak jauh pertama. Callback ini dipicu ketika pengguna lokal menerima paket video pertama dari pengguna jarak jauh. Developer dapat menggunakan callback ini untuk memantau kecepatan pembentukan tautan video atau memperbarui komponen UI dari aliran pemutaran.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

video track

AliRtcVideoTrack

Jenis aliran video yang akan diterima.

timeCost

int

Waktu dari saat pengguna lokal bergabung ke saluran hingga menerima paket video pertama (dalam milidetik).

onFirstAudioPacketReceived

Callback ini dipicu ketika paket data audio pertama dari pengguna jarak jauh diterima.

public void onFirstAudioPacketReceived(String uid, AliRtcAudioTrack track, int timeCost)

Callback ini dipicu untuk memberi tahu pengguna lokal ketika paket data audio pertama diterima dari pengguna jarak jauh. Callback ini membantu developer memantau kecepatan pembentukan tautan audio, mengevaluasi kualitas jaringan, dan mengoptimalkan pengalaman pengguna—misalnya dengan menampilkan prompt "Audio terhubung" atau menyesuaikan kebijakan pemutaran.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

track

AliRtcAudioTrack

Terima jenis aliran audio.

timeCost

int

Waktu, dalam milidetik, dari saat pengguna lokal bergabung ke saluran hingga menerima paket audio pertama.

onFirstRemoteAudioDecoded

Callback ini dipanggil ketika bingkai audio pertama dari pengguna jarak jauh telah didekodekan dan siap untuk diputar.

public void onFirstRemoteAudioDecoded(String uid, AliRtcAudioTrack track, int elapsed)

Callback ini menunjukkan bahwa aliran audio jarak jauh siap. Anda dapat menggunakan callback ini untuk menghitung waktu hingga frame pertama atau memperbarui komponen UI.

Parameter

Parameter

Tipe

Deskripsi

UID

String

ID pengguna jarak jauh.

track

AliRtcAudioTrack

Jenis aliran audio.

elapsed

int

Latensi dari saat pengguna lokal bergabung ke saluran hingga frame audio pertama didekodekan (dalam milidetik).

onAudioAccompanyStateChanged

Callback ini dipanggil ketika status pemutaran iringan audio lokal berubah.

public void onAudioAccompanyStateChanged(AliRtcEngine.AliRtcAudioAccompanyStateCode playState, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);

Callback ini melaporkan perubahan status pemutaran iringan lokal. Callback ini memberi tahu developer secara real-time tentang status pemutaran iringan saat ini (seperti mulai, jeda, atau akhir) dan kode kesalahan terkait. Developer dapat menggunakan callback ini untuk memantau kemajuan pemutaran, menangani pengecualian, dan memperbarui antarmuka pengguna.

Parameter

Parameter

Tipe

Deskripsi

playState

AliRtcEngine.AliRtcAudioAccompanyStateCode

Status pemutaran iringan.

errorCode

AliRtcEngine.AliRtcAudioAccompanyErrorCode

Kode kesalahan pemutaran terutama menunjukkan kesalahan saat membuka atau mendekode file.

onRemoteAudioAccompanyStarted

Callback yang dipanggil ketika pengguna jarak jauh mulai memutar iringan audio.

public void onRemoteAudioAccompanyStarted(String uid);

Callback ini memberi tahu aplikasi lokal ketika pengguna jarak jauh mulai memutar iringan audio, seperti musik latar belakang. Anda dapat menggunakan callback ini untuk menjalankan logika inisialisasi—misalnya, memperbarui UI, menyesuaikan volume, atau memberi tahu pengguna lain.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh yang memulai pemutaran iringan.

onRemoteAudioAccompanyFinished

Callback ini dipanggil ketika pengguna jarak jauh selesai memutar iringan audio.

public void onRemoteAudioAccompanyFinished(String uid);

Callback ini memberi tahu aplikasi lokal ketika pemutaran iringan audio pengguna jarak jauh (seperti musik latar belakang atau efek suara) selesai. Developer dapat menggunakan callback ini untuk menjalankan logika lanjutan, seperti memberi tahu pengguna atau memperbarui status.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh ketika pemutaran trek latar belakang berakhir.

onVideoResolutionChanged

Resolusi video jarak jauh berubah.

public void onVideoResolutionChanged(String uid,AliRtcVideoTrack videoTrack, int width, int height);

Callback ini memberi tahu Anda tentang perubahan resolusi aliran video pengguna jarak jauh. Callback ini dipicu ketika pengguna jarak jauh beralih kamera, menyesuaikan kejernihan video, atau mengalami penurunan resolusi karena fluktuasi jaringan. Anda dapat menggunakan callback ini untuk menyesuaikan secara dinamis logika rendering video lokal, seperti tata letak UI, penskalaan canvas, atau optimasi kinerja.

Parameter

Parameter

Jenis

Deskripsi

uid

String

ID pengguna jarak jauh yang resolusinya berubah.

videoTrack

AliRtcVideoTrack

Jenis aliran video, seperti aliran kamera atau aliran layar.

width

int

Lebar resolusi video baru.

height

int

Tinggi resolusi video baru.

onRtcLocalVideoStats

Callback yang menyediakan statistik untuk aliran video lokal yang dipublikasikan.

public void onRtcLocalVideoStats(AliRtcEngine.AliRtcLocalVideoStats aliRtcStats);

Callback ini menyampaikan informasi real-time tentang status encoding dan transmisi aliran video lokal, seperti bitrate dan laju frame. Anda dapat menggunakannya untuk memantau kualitas video, mendiagnosis masalah kinerja, atau menyesuaikan parameter encoding secara dinamis.

Parameter

Parameter

Tipe

Deskripsi

aliRtcStats

AliRtcEngine.AliRtcLocalVideoStats

Statistik kinerja untuk dorong video lokal, termasuk bitrate publikasi dan laju frame. Untuk informasi lebih lanjut, lihat AliRtcLocalVideoStats.

onRtcRemoteVideoStats

Callback ini menyediakan statistik untuk aliran video jarak jauh yang dilanggan.

public void onRtcRemoteVideoStats(AliRtcEngine.AliRtcRemoteVideoStats aliRtcStats);

Callback ini menyediakan statistik data real-time untuk aliran video jarak jauh. Callback ini mengambil informasi real-time tentang status encoding dan transmisi video jarak jauh, seperti bitrate, laju frame, resolusi, latensi, dan tersendat. Developer dapat menggunakan callback ini untuk memantau kualitas video, mendiagnosis masalah kinerja, atau menyesuaikan parameter decoding secara dinamis.

Parameter

Parameter

Type

Deskripsi

aliRtcStats

AliRtcEngine.AliRtcRemoteVideoStats

Statistik performa tarikan video jarak jauh, termasuk ID pengguna jarak jauh, resolusi video, laju frame, jumlah tersendat, dan informasi lainnya. Untuk informasi lebih lanjut, lihat AliRtcRemoteVideoStats.

onRtcRemoteAudioStats

Statistik data untuk aliran audio jarak jauh yang dilanggan.

public void onRtcRemoteAudioStats(AliRtcEngine.AliRtcRemoteAudioStats aliRtcStats);

Callback ini menyediakan statistik real-time tentang aliran audio jarak jauh, seperti kualitas audio, tingkat kehilangan paket, dan latensi. Anda dapat menggunakan callback ini untuk memantau stabilitas koneksi audio jarak jauh, mendiagnosis masalah jaringan, dan menyesuaikan kebijakan pemutaran secara dinamis—misalnya dengan mengaktifkan pengurangan noise atau memberi tahu pengguna untuk mengoptimalkan jaringan mereka.

Parameter

Parameter

Tipe

Deskripsi

aliRtcStats

AliRtcEngine.AliRtcRemoteAudioStats

Statistik tarikan audio jarak jauh. Statistik ini mencakup ID pengguna jarak jauh, kualitas audio, tingkat kehilangan paket, jumlah tersendat, dan latensi. Untuk informasi lebih lanjut, lihat AliRtcRemoteAudioStats.

onRtcLocalAudioStats

Melaporkan statistik dari aliran audio lokal yang dipublikasikan.

public void onRtcLocalAudioStats(AliRtcEngine.AliRtcLocalAudioStats aliRtcStats);

Callback ini menyediakan statistik real-time untuk ingest aliran audio lokal, termasuk status encoding dan transmisi seperti bitrate, laju sampel, jumlah saluran suara, dan tingkat kehilangan paket. Anda dapat menggunakan callback ini untuk memantau stabilitas tautan audio lokal, mendiagnosis masalah kinerja, dan menyesuaikan kebijakan encoding secara dinamis—misalnya dengan mengurangi bitrate.

Parameter

Parameter

Tipe

Deskripsi

aliRtcStats

AliRtcEngine.AliRtcLocalAudioStats

Statistik performa push audio lokal, termasuk jenis aliran audio, bitrate kirim, laju sampel kirim, dan jumlah saluran suara. Untuk informasi lebih lanjut, lihat AliRtcLocalAudioStats.

onAudioFocusChange

Callback yang dipanggil ketika fokus audio berubah (Android saja).

public void onAudioFocusChange(int focusChange);

Notifikasi untuk perubahan fokus audio. Secara default, SDK secara otomatis meminta fokus audio. Jika aplikasi Anda perlu menggunakan fokus audio lagi, Anda harus memintanya lagi dalam callback (callback) yang dipicu SDK ketika fokus audio berubah.

Waktu Notifikasi

Callback ini dipicu ketika perangkat output audio berubah, seperti saat Anda mencolokkan atau mencabut headphone, beralih ke perangkat Bluetooth berbeda, atau beralih antara earpiece dan speaker.

Parameter

Parameter

Type

Deskripsi

focusChange

int

Jenis status fokus. Nilainya sama dengan jenis fokus yang didefinisikan dalam `android.media.AudioManager`.

onAudioRouteChanged

Callback ini dipanggil ketika rute audio berubah (Android dan iOS saja).

public void onAudioRouteChanged(AliRtcEngine.AliRtcAudioRouteType routing);

Callback ini memberi tahu Anda tentang perubahan jalur output audio perangkat, seperti saat headphone dicolokkan atau output dialihkan ke speaker. Anda dapat menggunakan callback ini untuk menyesuaikan kebijakan output audio secara dinamis, seperti beralih mode mikrofon atau menyesuaikan volume.

Parameter

Parameter

Tipe

Deskripsi

routing

AliRtcEngine.AliRtcAudioRouteType

Rute audio saat ini.

onRemoteUserSubscribedDataChannel

Callback ini dipanggil ketika pengguna jarak jauh berlangganan ke Data Channel.

public void onRemoteUserSubscribedDataChannel(String uid);

Callback ini dipicu ketika pengguna jarak jauh berlangganan ke Data Channel. Callback ini memberi tahu Anda bahwa pengguna jarak jauh tertentu siap menerima pesan kustom. Pada titik ini, Anda dapat dengan aman memanggil sendDataChannelMsg untuk mengirim data ke pengguna tersebut. Callback ini merupakan mekanisme penting untuk memastikan pengiriman pesan yang andal karena mencegah kehilangan paket atau kegagalan yang terjadi jika Anda mengirim pesan sebelum pengguna target berlangganan ke Data Channel.

Catatan

Callback ini hanya dipicu dalam skenario interaksi real-time AI.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna jarak jauh.

onDataChannelMessage

Callback ini dipanggil ketika pesan kustom diterima melalui saluran data.

public void onDataChannelMessage(String uid, AliRtcEngine.AliRtcDataChannelMsg msg);

SDK ARTC memungkinkan Anda mengirim dan menerima pesan real-time kustom bersama dengan data audio dan video. Callback ini digunakan untuk menerima pesan kustom dari saluran data. Untuk informasi lebih lanjut, lihat Mengirim dan Menerima Pesan Kustom.

Catatan
  • Dalam skenario interaktif, streamer dapat mengirim dan menerima pesan, sedangkan viewer hanya dapat menerima pesan.

  • Fitur ini dinonaktifkan secara default. Untuk mengaktifkannya, Anda dapat memanggil setParameter untuk mengatur {"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}} setelah membuat mesin DPI.

  • Fitur saluran data memerlukan bahwa pengirim memiliki aliran audio atau video aktif. Pastikan skenario Anda memiliki aliran audio atau video aktif.

Waktu Pemicu

Setelah pengirim memanggil sendDataChannelMsg untuk mengirim pesan kustom, callback ini dipicu di sisi penerima jika fitur saluran data diaktifkan.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna pengirim.

msg

AliRtcEngine.AliRtcDataChannelMsg

Pesan kustom yang diterima.

onAudioVolume

Volume audio yang dilanggan, status suara, dan UID.

public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);

Callback ini dinonaktifkan secara default. Anda dapat mengaktifkannya dengan memanggil antarmuka <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="d1cae8ec5dc2w">enableAudioVolumeIndication</a>. Setelah Anda mengaktifkannya, setiap kali pengguna melakukan streaming di saluran, SDK memicu callback ini setelah Anda bergabung ke saluran, pada interval yang ditentukan dalam <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="e5e0d330423ax">enableAudioVolumeIndication</a>. Callback ini mengembalikan informasi volume untuk pembicara lokal dan jarak jauh.

Parameter

Parameter

Jenis

Deskripsi

speakers

List<AliRtcEngine.AliRtcAudioVolume>

Array yang berisi informasi volume masing-masing pengguna, termasuk UID, status berbicara, dan volume.

  • Nilai 0 untuk UID menunjukkan pengguna lokal.

  • Nilai 1 untuk UID menunjukkan volume campuran semua pengguna jarak jauh.

  • Nilai lainnya menunjukkan informasi volume pengguna jarak jauh dengan UID yang ditentukan.

totalVolume

int

Volume setelah pencampuran audio. Nilai yang valid: 0 hingga 255.

Dalam callback ke pengguna lokal, totalVolume adalah volume setelah mencampur audio pengguna lokal. Dalam callback ke pengguna jarak jauh, totalVolume adalah volume setelah mencampur audio dari semua pembicara.

onActiveSpeaker

Anda dapat berlangganan ke pembicara saat ini.

public void OnActiveSpeaker(String uid);

Setelah Anda berhasil memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="699faf2d18k2x">enableAudioVolumeIndication</a>, SDK terus memantau pengguna jarak jauh dan mengidentifikasi yang memiliki volume audio tertinggi. SDK menghitung berapa kali setiap pengguna jarak jauh diidentifikasi sebagai yang memiliki volume tertinggi. Dalam periode waktu saat ini, pengguna jarak jauh dengan jumlah kumulatif tertinggi dianggap sebagai pengguna paling aktif.

Kondisi Pemicu

Callback ini dipicu ketika saluran berisi dua pengguna atau lebih dan setidaknya satu pengguna jarak jauh aktif. SDK melaporkan UID pengguna jarak jauh paling aktif.

  • Jika pengguna jarak jauh paling aktif tidak berubah, SDK tidak memicu callback onActiveSpeaker lagi.

  • Jika pengguna jarak jauh paling aktif berubah, SDK memicu callback ini dan melaporkan UID pengguna jarak jauh paling aktif baru.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna yang sedang berbicara. Nilai 0 menunjukkan pengguna lokal. Parameter ini mengembalikan ID pengguna dengan volume tertinggi dalam segmen waktu saat ini, bukan ID pengguna dengan volume instan tertinggi.

OnTestAudioVolume

Deteksi pra-panggilan dan callback informasi volume.

public void OnTestAudioVolume(int volume);

Callback ini melaporkan volume perangkat penangkapan audio selama pengujian pra-panggilan, sehingga Anda dapat memverifikasi bahwa perangkat penangkapan audio lokal berfungsi dengan benar. Callback ini dipicu ketika Anda memanggil startAudioCaptureTest.

Parameter

Parameter

Tipe

Deskripsi

Volume

int

Nilai volume.

onCapturedAudioFrame

Callback yang dipanggil ketika data audio mentah yang ditangkap tersedia.

boolean onCapturedAudioFrame(AliRtcAudioFrame frame);

Callback ini menyediakan data audio mentah yang ditangkap oleh perangkat saat ini. Callback ini dinonaktifkan secara default. Untuk menerima data audio ini:

  • Anda dapat mengaktifkan callback ini dengan memanggil enableAudioFrameObserver(true, audioSource, config). Anda harus menentukan parameter audioSource. Parameter config menentukan laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio.

  • Panggil registerAudioFrameObserver untuk mendaftarkan objek penerima data audio.

Catatan

Anda dapat mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk callback ini.

Batasan

Jangan lakukan operasi apa pun yang memakan waktu lama dalam fungsi callback ini karena hal itu dapat menyebabkan anomali audio.

Parameter

Parameter

Tipe

Catatan

frame

AliRtcAudioFrame

Data audio.

Deskripsi nilai kembali

  • true: Berhasil.

  • false: Gagal.

onProcessCapturedAudioFrame

Callback yang dipanggil ketika data audio tersedia setelah pemrosesan 3A.

boolean onProcessCapturedAudioFrame(AliRtcAudioFrame frame);

Callback ini mengambil data audio setelah pemrosesan 3A. Callback ini dinonaktifkan secara default. Untuk mengambil data audio ini:

  • Anda dapat mengaktifkan callback ini dengan memanggil enableAudioFrameObserver(true, audioSource, config) dan menentukan parameter audioSource. Anda juga dapat menggunakan parameter config untuk mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio.

  • Anda dapat memanggil registerAudioFrameObserver untuk mendaftarkan objek penerima data audio.

Catatan

Anda dapat menggunakan metode ini untuk mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis.

Batasan Panggilan

Jangan lakukan operasi apa pun yang memakan waktu lama dalam fungsi callback ini, karena hal itu dapat menyebabkan anomali audio.

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.

Parameter

Tipe

Catatan

frame

AliRtcAudioFrame

Data audio.

Deskripsi nilai kembali

  • True menunjukkan keberhasilan.

  • false. Gagal.

onPublishAudioFrame

Callback ingest aliran audio

boolean onPublishAudioFrame(AliRtcAudioFrame frame);

Callback ini memperoleh data audio untuk ingest aliran. Callback ini dinonaktifkan secara default. Untuk memperoleh data audio ini:

  • Anda dapat mengaktifkan callback ini menggunakan parameter `audioSource` dalam enableAudioFrameObserver(true, audioSource, config). Selain itu, parameter `config` memungkinkan Anda mengatur laju sampel dan jumlah saluran suara untuk memperoleh data audio, mode baca/tulis, dan sebagainya.

  • Panggil registerAudioFrameObserver untuk mendaftarkan objek penerima data audio.

Catatan

Metode ini memungkinkan Anda mengatur laju sampel dan jumlah saluran suara, tetapi mode hanya dapat diatur ke read-only.

Batasan

Jangan lakukan operasi apa pun yang memakan waktu lama dalam fungsi callback ini karena hal itu dapat menyebabkan masalah audio.

Parameter

Parameter

Jenis

Catatan

Frame

AliRtcAudioFrame

Data audio.

Deskripsi nilai kembali

  • true: Operasi berhasil.

  • false: Gagal.

onPlaybackAudioFrame

Callback yang dipanggil ketika data audio siap untuk diputar.

boolean onPlaybackAudioFrame(AliRtcAudioFrame frame);

Callback ini mengambil data audio untuk pemutaran. Callback ini dinonaktifkan secara default. Untuk mengambil data audio ini:

  • Untuk mengaktifkan callback saat ini, atur parameter audioSource saat memanggil enableAudioFrameObserver(true, audioSource, config). Anda juga dapat menggunakan parameter config untuk mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio yang Anda peroleh.

  • Panggil registerAudioFrameObserver untuk mendaftarkan objek penerima data audio.

Catatan

Metode ini mendukung pengaturan laju sampel, jumlah saluran suara, dan mode baca/tulis.

Batasan

Anda tidak boleh melakukan operasi yang memakan waktu lama dalam fungsi callback ini karena hal itu dapat menyebabkan anomali audio.

Parameter

Parameter

Type

Catatan

frame

AliRtcAudioFrame

Data audio.

Deskripsi Kembalian

  • true: Operasi berhasil.

  • False menunjukkan kegagalan.

onRemoteUserAudioFrame

Callback yang dipanggil ketika data audio dari pengguna jarak jauh tersedia untuk penarikan aliran.

boolean onRemoteUserAudioFrame(String uid, AliRtcAudioFrame frame);

Callback ini mengambil data audio jarak jauh untuk pengguna tertentu selama penarikan aliran. Callback ini dinonaktifkan secara default. Untuk mengambil data audio ini:

  • Anda dapat menggunakan parameter audioSource dalam enableAudioFrameObserver(true, audioSource, config) untuk mengaktifkan callback saat ini. Anda juga dapat menggunakan parameter config untuk menentukan properti data audio yang akan diambil, seperti laju sampel, jumlah saluran suara, dan mode baca/tulis.

  • Anda dapat memanggil registerAudioFrameObserver untuk mendaftarkan observer frame audio.

Catatan

Metode ini tidak mendukung pengaturan laju sampel atau jumlah saluran suara, tetapi dapat mengatur mode baca/tulis.

Batasan

Untuk menghindari anomali audio, jangan lakukan operasi yang memakan waktu lama dalam fungsi callback ini.

Deskripsi Parameter

Parameter

Tipe

Catatan

uid

String

ID Pengguna.

Frame

AliRtcAudioFrame

Data audio.

Deskripsi Pengembalian

  • true: Operasi berhasil.

  • false: Menunjukkan kegagalan.

OnDestroyCompletion

Callback yang dipanggil SDK ketika penghancuran engine selesai.

void OnDestroyCompletion();

Callback ini menunjukkan bahwa instans engine SDK telah dihancurkan dan Anda dapat membuat instans baru.

Waktu Pemicu

Callback ini dipicu setelah Anda memanggil destroy[2/2] dan mesin DPI dihancurkan.

onTextureCreate

Callback ini dipanggil ketika konteks OpenGL dibuat.

void onTextureCreate(long context);
Catatan

Callback ini dipicu ketika SDK secara internal membuat konteks OpenGL.

Kondisi Pemicu

Callback ini dipicu ketika SDK secara internal membuat konteks OpenGL. Anda dapat menggunakan callback ini untuk menginisialisasi resource terkait.

Parameter

Parameter

Tipe

Catatan

Context

long

Konteks OpenGL.

onTextureUpdate

Callback yang dipanggil ketika tekstur OpenGL diperbarui.

int onTextureUpdate(int textureId, int width, int height, AliRtcVideoSample videoSample);

Kondisi Pemicu

Callback ini dipicu setelah setiap frame video diunggah ke tekstur OpenGL. Ketika Anda mendaftarkan observer data tekstur OpenGL eksternal, Anda dapat memproses tekstur dalam callback ini dan mengembalikan ID tekstur yang telah diproses.

Parameter

Parameter

Tipe

Catatan

textureId

int

Konteks OpenGL.

width

int

Lebar video.

Height

int

Tinggi video.

videoSample

AliRtcVideoSample

Data frame video.

Deskripsi nilai kembali

Mengembalikan ID tekstur baru atau ID tekstur asli. Jika nilai yang dikembalikan kurang dari nol, ID tekstur dianggap tidak berubah.

onTextureDestroy

void onTextureDestroy();

Kondisi Pemicu

Callback ini dipicu ketika SDK secara internal menghancurkan konteks OpenGL. Anda harus menggunakan callback ini untuk membersihkan resource terkait.

onLocalVideoSample

Callback yang dipanggil ketika data video yang ditangkap secara lokal tersedia.

public boolean onLocalVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Callback ini mengambil frame video mentah, seperti data YUV, yang ditangkap oleh kamera lokal. Anda dapat menggunakan callback ini untuk menerapkan logika pemrosesan video kustom, seperti menambahkan filter, watermark, atau transkoding. Untuk mengirim frame video yang telah diproses ke SDK guna encoding atau rendering selanjutnya, kembalikan true.

Waktu Pemicu

Setelah mendaftarkan observer data video dengan memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="22a5a6bd53c77">registerVideoSampleObserver</a>, SDK menangkap frame video yang sesuai.

Parameter

Parameter

Tipe

Deskripsi

sourceType

AliRtcVideoSourceType

Jenis sumber video.

videoSample

AliRtcVideoSample

Data video.

Deskripsi respons

  • true: Menulis kembali data ke SDK. (Ini adalah perilaku default. Penulisan kembali diperlukan jika Anda memodifikasi AliRtcVideoSample.data.)

  • false: Data tidak ditulis kembali ke SDK. Opsi ini digunakan ketika Anda perlu langsung memanipulasi AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU, atau AliRtcVideoSample.dataFrameV.

onPreEncodeVideoSample

Callback untuk data video pra-encoding lokal yang dilanggan.

public boolean onPreEncodeVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoRawData);

Callback ini mengambil data video lokal mentah, seperti data dalam format YUV, sebelum SDK mengkodekan frame video. Hal ini memungkinkan Anda menerapkan logika pemrosesan kustom, seperti menambahkan watermark, menyesuaikan warna, atau transkoding, dan kemudian memutuskan apakah akan mengembalikan data yang telah diproses ke SDK untuk encoding.

Parameter

Parameter

Tipe

Deskripsi

sourceType

AliRtcVideoSourceType

Jenis aliran video

videoRawData

AliRtcVideoSample

Data video mentah

Deskripsi Nilai Kembali

  • true: Data harus ditulis kembali ke SDK saat Anda beroperasi pada AliRtcVideoSample.data. Ini adalah pengaturan default.

  • false: Tidak menulis data kembali ke SDK. (Gunakan opsi ini jika Anda ingin langsung memanipulasi AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU, dan AliRtcVideoSample.dataFrameV.)

onRemoteVideoSample

Callback untuk data video jarak jauh yang dilanggan.

public boolean onRemoteVideoSample(String callId,AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);

Callback ini menerima data video jarak jauh yang dilanggan. Callback ini memperoleh data frame video mentah (seperti format YUV) dari pengguna jarak jauh. Developer dapat menggunakan callback ini untuk menerapkan logika pemrosesan kustom (seperti menambahkan filter, watermark, atau transkoding) dan menentukan apakah akan mengembalikan data yang telah diproses ke SDK untuk rendering selanjutnya.

Parameter

Parameter

Tipe

Deskripsi

callId

String

ID Pengguna

sourceType

AliRtcVideoSourceType

Jenis aliran video

videoSample

AliRtcVideoSample

Data video mentah

Deskripsi nilai kembali

  • true: Data ditulis kembali ke SDK. Ini adalah pengaturan default dan diperlukan ketika Anda beroperasi pada AliRtcVideoSample.data.

  • Jika `false`, data tidak perlu ditulis kembali ke SDK. (Ini digunakan ketika beroperasi langsung pada AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU, atau AliRtcVideoSample.dataFrameV.)

onGetVideoFormatPreference

Format output video

public AliRtcVideoFormat onGetVideoFormatPreference();

Deskripsi Respons

Format output video yang diinginkan.

onGetObservedFramePosition

Konten output data video

public int onGetObservedFramePosition();

Callback ini memperoleh konten atau jenis output data video. Developer dapat menggunakan callback ini untuk memperoleh tahap pemrosesan frame video keluaran SDK, seperti setelah penangkapan, sebelum encoding, atau setelah penarikan aliran.

Deskripsi Kembalian

Konten output video yang diharapkan adalah nilai enumerasi AliRtcVideoObserPosition, yang menunjukkan data yang ditangkap, data yang ditarik, dan data pra-encoding.

onPublishLiveStreamStateChanged

Callback ini dipanggil ketika status streaming langsung yang diteruskan berubah.

public void onPublishLiveStreamStateChanged(String streamUrl, AliRtcLiveTranscodingState state, AliEngineLiveTranscodingErrorCode errorCode);

Parameter

Parameter

Tipe

Deskripsi

streamUrl

String

URL ingest.

state

AliRtcLiveTranscodingState

Status streaming langsung bypass.

errorCode

AliEngineLiveTranscodingErrorCode

Kode kesalahan.

onPublishTaskStateChanged

Dipicu ketika status tugas yang diteruskan berubah.

public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);

Parameter

Parameter

Tipe

Deskripsi

streamUrl

String

URL ingest.

state

AliRtcTrascodingPublishTaskStatus

Status tugas streaming langsung yang diteruskan.

onNetworkQualityChanged

Callback yang dipanggil ketika kualitas jaringan berubah.

public void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID pengguna. Nilai kosong menunjukkan status jaringan upstream dan downstream pengguna lokal.

upQuality

AliRtcNetworkQuality

Status jaringan upstream.

downQuality

AliRtcNetworkQuality

Kesehatan jaringan downstream.

onNetworkQualityProbeTest

Callback yang dipanggil sekitar 3 detik setelah pengujian kualitas jaringan dimulai.

public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}

Parameter

Parameter

Tipe

Deskripsi

quality

AliRtcNetworkQuality

Kualitas jaringan.

onNetworkQualityProbeTestResult

Callback yang melaporkan hasil pengujian kualitas jaringan, dipicu sekitar 30 detik setelah pengujian dimulai.

public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}

Parameter

Parameter

Tipe

Deskripsi

code

int

Nilai kembali adalah 0 jika probe berhasil dan -1 jika gagal karena kondisi jaringan buruk menyebabkan koneksi terputus.

result

AlirtcNetworkQualityProbeResult

Kualitas jaringan.

onSnapshotComplete

Callback yang dipanggil ketika operasi tangkapan layar selesai.

public void onSnapshotComplete(String userId, AliRtcVideoTrack trackType, Bitmap bitmap, boolean success)

Callback ini menyediakan hasil dan detail tangkapan layar.

Parameter

Parameter

Tipe

Deskripsi

userId

String

ID Pengguna.

trackType

AliRtcVideoTrack

Jenis aliran video untuk tangkapan layar.

bitmap

Bitmap

Data tangkapan layar.

Success

boolean

Menunjukkan apakah tangkapan layar berhasil.

onScreenSharePublishStateChanged

Callback yang memberikan notifikasi saat terjadi perubahan status ingest aliran berbagi layar.

public void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)

Callback ini dipicu setiap kali status ingest aliran berbagi layar berubah.

Deskripsi parameter

Parameter

Tipe

Deskripsi

oldState

AliRtcEngine.AliRtcPublishState

Status sebelumnya sebelum status ingest aliran berubah.

newState

AliRtcEngine.AliRtcPublishState

Status ingest aliran baru setelah perubahan.

elapseSinceLastState

int

Interval waktu untuk perubahan status (ms).

channel

String

Nama saluran saat ini.

onScreenShareSubscribeStateChanged

Callback yang dipanggil ketika status langganan aliran berbagi layar berubah.

public void onScreenShareSubscribeStateChanged(String uid,
                                                    AliRtcEngine.AliRtcSubscribeState oldState,
                                                    AliRtcEngine.AliRtcSubscribeState newState,
                                                    int elapseSinceLastState, String channel);

Callback ini dipicu ketika status langganan pengguna saat ini ke aliran berbagi layar pengguna jarak jauh berubah.

Parameter

Parameter

Tipe

Deskripsi

uid

String

ID Pengguna Jarak Jauh.

oldState

AliRtcEngine.AliRtcSubscribeState

Status langganan sebelumnya.

newState

AliRtcEngine.AliRtcSubscribeState

Status langganan saat ini.

elapseSinceLastState

int

Interval perubahan status (milidetik).

channel

String

Saluran saat ini.

onOccurError

Notifikasi kesalahan.

public void onOccurError(int error, String message);

Callback notifikasi kesalahan global SDK ARTC memberi tahu lapisan aplikasi ketika terjadi kesalahan kritis di dalam engine internal SDK. Developer dapat menggunakan callback ini untuk memperoleh kode kesalahan dan pesan kesalahan guna penanganan pengecualian, pencatatan log, atau pemberitahuan kepada pengguna.

Deskripsi respons

Parameter

Tipe

Deskripsi

Error

int

Jenis kesalahan. Untuk informasi lebih lanjut, lihat daftar kode kesalahan.

message

String

Pesan kesalahan.

OnLocalAudioStateChanged

Callback ini dipanggil ketika status perangkat audio lokal berubah.

public void OnLocalAudioStateChanged(int state);

Callback ini dipicu ketika status perangkat penangkapan audio lokal berubah, seperti ketika Anda memanggil startAudioCapture untuk memulai penangkapan audio atau stopAudioCapture untuk menghentikan penangkapan audio.

Parameter

Parameter

Tipe

Deskripsi

State

int

  • 0: Belum dibuat

  • 1: Sedang mengumpulkan

  • 2: Sedang mematikan

  • 3: Pengumpulan telah dimatikan

setParameter

Konfigurasikan Parameter Kustom

public abstract int setParameter(String param);

Parameter

Parameter

Tipe

Deskripsi

param

String

Parameter kustom.

getParameter

Mengambil parameter kustom.

public abstract String getParameter(String param);

Parameter

Parameter

Tipe

Deskripsi

param

String

Parameter kustom.

registerAudioVolumeObserver

Mendaftarkan objek yang digunakan untuk mengekspor data volume.

public abstract void registerAudioVolumeObserver(AliRtcAudioVolumeObserver observer);

Metode ini mendaftarkan objek untuk mengekspor data volume. Untuk mencabut pendaftaran, panggil unRegisterAudioVolumeObserver.

Kapan harus memanggil

  • Untuk memperoleh informasi volume, panggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="85a734d2596vf">enableAudioVolumeIndication</a> untuk mengatur frekuensi callback dan koefisien penghalusan, serta panggil API ini untuk mendaftarkan objek yang menerima data terkait.

  • Ketika Anda memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ae07dc986abf3" id="29e92857a5iv8">startAudioCaptureTest</a> sebelum bergabung ke rapat untuk deteksi perangkat audio pra-panggilan, Anda dapat memanggil API ini dan mengimplementasikan callback <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e375c31bdez6j" id="e5cb797b7cg5p">OnTestAudioVolume</a>.

Parameter

Parameter

Tipe

Deskripsi

observer

AliRtcAudioVolumeObserver

Objek yang menerima data volume audio.

unRegisterAudioVolumeObserver

Mencabut pendaftaran objek yang mengekspor data volume.

public abstract void unRegisterAudioVolumeObserver();

Metode ini sesuai dengan registerAudioVolumeObserver dan menghapus objek yang telah didaftarkan untuk mengekspor data volume.

Kapan Menghubungi

Anda dapat memanggil metode ini untuk mencabut pendaftaran observer volume audio jika sebelumnya Anda telah mendaftarkannya menggunakan registerAudioVolumeObserver.

enableAudioFrameObserver

Anda dapat mengatur parameter callback audio.

public abstract int  enableAudioFrameObserver(boolean enable, AliRtcAudioSource audioSource, AliRtcAudioFrameObserverConfig config);

Metode ini mengaktifkan atau menonaktifkan callback data audio untuk jenis tertentu, sehingga developer dapat memperoleh berbagai data audio mentah dan terenkripsi. Metode ini dinonaktifkan secara default. Untuk mengaktifkannya, Anda dapat memanggil metode ini.

Catatan

Saat memanggil API ini untuk mengaktifkan callback data audio untuk AliRtcAudioSource yang sesuai, Anda harus menggunakan metode registerAudioFrameObserver untuk meneruskan objek yang akan menerima data audio.

Kapan dipanggil

Anda dapat memanggil metode ini untuk mengaktifkan pengambilan data audio ketika Anda membutuhkannya.

Parameter

Parameter

Jenis

Deskripsi

enable

boolean

Apakah akan mengizinkan callback data audio.

audioSource

AliRtcAudioSource

Jenis sumber data callback meliputi setelah penangkapan (0), setelah 3A (1), ingest aliran (2), pemutaran (3), campuran ingest aliran dan pemutaran (4), dan data audio yang ditarik (5).

Catatan
  • Data audio pengambilan aliran serta data audio setelah pengambilan aliran dan pencampuran playback hanya mendukung mode ReadOnly.

  • Data audio yang ditarik tidak mendukung modifikasi parameter audio seperti laju sampel dan jumlah saluran.

config

AliRtcAudioFrameObserverConfig

Parameter callback audio, seperti laju sampel, jumlah saluran suara, dan mode baca-tulis callback (read-only, write-only, atau read-write). Jika Anda mengatur parameter ini ke null, nilai default adalah 48000 Hz, 1 saluran, dan read-only.

Deskripsi Nilai Kembali

  • 0: Panggilan metode berhasil.

  • <0: Panggilan metode gagal.

registerAudioFrameObserver

Anda dapat mendaftarkan callback data audio.

public abstract void registerAudioFrameObserver(AliRtcAudioFrameObserver observer);

Metode ini mendaftarkan objek untuk menerima data callback audio.

Waktu Pemanggilan

Untuk menerima data audio melalui callback onCapturedAudioFrame, onProcessCapturedAudioFrame, onPublishAudioFrame, onPlaybackAudioFrame, dan onRemoteUserAudioFrame, Anda harus memanggil metode ini untuk menyediakan objek penerima data audio. Untuk mencabut pendaftaran penerima, panggil metode ini lagi dan teruskan null.

Batasan Panggilan

Observer tidak dapat mengambil data kecuali Anda memanggil enableAudioFrameObserver untuk mengaktifkan callback untuk AliRtcAudioSource tertentu.

Deskripsi Parameter

Parameter

Tipe

Deskripsi

observer

AliRtcAudioFrameObserver

Instans objek penerima callback data audio. Jika null diteruskan, maka pendaftaran dicabut.

registerVideoSampleObserver

Mendaftarkan objek untuk mengekspor data video.

public abstract void registerVideoSampleObserver(AliVideoObserver observer);

Metode ini mendaftarkan objek untuk mengekspor data video. Anda dapat mencabut pendaftaran objek dengan memanggil metode unRegisterVideoSampleObserver.

Kapan dipanggil

Untuk memperoleh data video mentah (seperti format YUV atau RGBA), Anda dapat memanggil metode ini untuk mendaftarkan observer data video dan memperoleh data video pada berbagai tahap. AliRtcVideoObserver adalah kelas observer data video.

Callback terkait

Setelah berhasil mendaftarkan observer output data video, SDK memicu callback yang Anda implementasikan dalam antarmuka AliRtcVideoObserver untuk setiap frame video yang ditangkap. Anda dapat mengimplementasikan callback yang sesuai sesuai kebutuhan:

Parameter

Parameter

Tipe

Deskripsi

observer

AliRtcVideoObserver

Objek output untuk data video.

Deskripsi Nilai Kembali

Callback AliVideoObserver mengembalikan data output.

unRegisterVideoSampleObserver

Mencabut pendaftaran objek yang digunakan untuk mengekspor data video.

public abstract void unRegisterVideoSampleObserver();

Antarmuka ini sesuai dengan antarmuka <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="dcf635790da7v">registerVideoSampleObserver</a> dan digunakan untuk mencabut pendaftaran objek output data video.

registerLocalVideoTextureObserver

Mendaftarkan objek yang mengekspor data tekstur OpenGL dari track kamera lokal.

public abstract void registerLocalVideoTextureObserver(AliTextureObserver observer);

Untuk mengambil data video mentah, panggil API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="4f1f5a423ch4j">registerVideoSampleObserver</a> untuk mendaftarkan callback yang sesuai. Untuk mengambil data tekstur internal, panggil API ini. Untuk mencabut pendaftaran observer tekstur, panggil API unRegisterLocalVideoTextureObserver.

Catatan

Metode ini hanya berlaku untuk video dari aliran kamera lokal.

Callback terkait

Setelah Anda berhasil mendaftarkan observer data tekstur OpenGL untuk aliran kamera lokal, SDK memicu callback yang Anda implementasikan dalam antarmuka AliRtcTextureObserver untuk setiap frame video yang ditangkap. Implementasikan callback yang sesuai sesuai kebutuhan:

  • onTextureCreate: Callback ini dipicu ketika SDK membuat konteks OpenGL-nya.

  • onTextureUpdate: Callback ini dipicu setelah data video untuk setiap frame diunggah ke tekstur OpenGL. Jika Anda mendaftarkan observer data tekstur OpenGL eksternal, Anda dapat memproses tekstur dalam callback ini dan mengembalikan ID tekstur yang telah diproses. Nilai kembali dari callback ini harus merupakan ID tekstur yang valid. Jika Anda tidak melakukan pemrosesan apa pun, Anda harus mengembalikan parameter textureId asli.

  • onTextureDestroy: Callback ini dipicu ketika konteks OpenGL internal SDK dihancurkan.

Parameter

Parameter

Tipe

Deskripsi

observer

AliRtcTextureObserver

Pengamat data tekstur OpenGL.

Deskripsi nilai kembali

Data output dikembalikan dalam callback AliVideoObserver.

unRegisterLocalVideoTextureObserver

Mencabut pendaftaran observer untuk data tekstur OpenGL dari track kamera lokal.

public abstract void unRegisterLocalVideoTextureObserver();

Metode ini mencabut pendaftaran observer yang didaftarkan oleh registerLocalVideoTextureObserver.

snapshotVideo

Fitur tangkapan layar video.

public abstract int snapshotVideo(String userId, AliRtcVideoTrack trackType);

Panggil metode ini untuk mengambil tangkapan layar dari aliran video pengguna tertentu.

Batasan

Metode ini bersifat asinkron. Nilai kembali 0 menunjukkan bahwa panggilan berhasil, tetapi tangkapan layar belum diambil.

Callback terkait

Setelah Anda berhasil memanggil metode ini, dengarkan callback onSnapshotComplete untuk memperoleh status keberhasilan dan detail tangkapan layar.

Parameter

Parameter

Tipe

Deskripsi

user ID

String

ID pengguna. Jika userId bernilai null atau string kosong (""), tangkapan layar diambil dari pengguna lokal.

trackType

AliRtcVideoTrack

Jenis aliran video untuk tangkapan layar. Nilai yang didukung:

  • AliRtcVideoTrackCamera: Aliran kamera

  • AliRtcVideoTrackScreen: Aliran berbagi layar

Deskripsi nilai kembali

  • 0: hanya menunjukkan bahwa panggilan metode berhasil. Keberhasilan tangkapan layar disediakan oleh callback onSnapshotComplete.

  • Bukan nol: panggilan gagal dan mengembalikan kode kesalahan.

setLogDirPath

Anda dapat mengatur jalur penyimpanan file log SDK.

public static int setLogDirPath(String logDirPath);

Parameter

Parameter

Tipe

Deskripsi

logDirPath

String

Jalur mutlak untuk menyimpan file log. Jalur default adalah direktori aplikasi.

Deskripsi Pengembalian

Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan kegagalan. Catatan: Untuk memanggil metode ini, pengaturan harus dilakukan sebelum memanggil metode SDK lainnya agar tidak kehilangan log. Aplikasi harus memastikan bahwa jalur yang ditentukan ada dan dapat ditulisi.

setLogLevel

Mengatur tingkat log.

public static void setLogLevel(AliRtcLogLevel logLevel);

Parameter

Parameter

Jenis

Deskripsi

logLevel

AliRtcLogLevel

Tingkat log.

setDeviceOrientationMode

Anda dapat mengatur orientasi perangkat.

public abstract void setDeviceOrientationMode(AliRtcOrientationMode mode);

Metode ini mengatur mode orientasi perangkat, yang memengaruhi cara video ditampilkan.

Batasan

Metode ini hanya tersedia di Android dan iOS.

Parameter

Parameter

Tipe

Deskripsi

mode

AliRtcOrientationMode

Arah perangkat.

Deskripsi Pengembalian

Tidak ada.

requestAudioFocus

Mengatur volume pemutaran lokal efek suara.

public abstract int requestAudioFocus();

Kapan harus memanggil

SDK secara otomatis meminta fokus audio saat mulai, sehingga Anda biasanya tidak perlu memintanya secara manual. Namun, jika Anda telah memanggil abandonAudioFocus, Anda dapat memanggil API ini untuk mendapatkan kembali fokus audio.

Batasan

Hanya untuk Android.

Parameter

Tidak ada.

Deskripsi nilai kembali

  • 0: Menunjukkan kegagalan.

  • 1: Menunjukkan keberhasilan.

abandonAudioFocus

Lepaskan fokus audio.

public abstract int abandonAudioFocus();

Kapan Harus Menghubungi

SDK secara otomatis memanggil antarmuka ini untuk melepaskan fokus audio selama proses penghancuran. Namun, dalam beberapa skenario, Anda mungkin perlu secara eksplisit melepaskan fokus audio dengan memanggil antarmuka ini. Setelah fokus audio dilepaskan, beberapa perangkat mungkin tidak menghasilkan suara atau menghasilkan volume yang lebih rendah. Untuk mengembalikan fokus audio, panggil requestAudioFocus.

Batasan Panggilan

Hanya untuk Android.

Deskripsi Pengembalian

  • 0: Kegagalan.

  • 1: Keberhasilan.

getNetworkTime

Peroleh waktu jaringan saat ini.

public abstract long getNetworkTime();

Metode ini mengembalikan waktu jaringan saat ini dalam milidetik, yaitu timestamp saat ini yang disesuaikan dengan kalibrasi NTP dan offset waktu.

Waktu Panggilan

Ketika menyinkronkan perilaku multi-perangkat, Anda harus memperoleh waktu jaringan yang disinkronkan sebagai garis dasar untuk mengkalibrasi waktu saat ini.

Deskripsi Nilai Kembali

Waktu saat ini, dalam milidetik, menurut Protokol Waktu Jaringan (NTP).

sendDataChannelMsg

Anda dapat mengirim pesan kustom melalui saluran data.

public abstract int sendDataChannelMsg(AliRtcDataChannelMsg Msg);

SDK ARTC memungkinkan Anda mengirim dan menerima pesan kustom secara real-time bersama dengan data audio dan video. Misalnya, Anda dapat memanggil antarmuka ini untuk mengirim instruksi kontrol real-time, data sinkronisasi status, atau pesan bisnis lainnya. Untuk informasi lebih lanjut, lihat Pengiriman dan penerimaan pesan kustom.

Catatan
  • Saluran pesan kustom dinonaktifkan secara default. Untuk menggunakan fitur ini, panggil metode setParameter untuk mengaktifkan saluran pesan kustom dengan mengatur {"data":{"enablePubDataChannel":true,"enableSubDataChannel":true}}. Anda dapat mengaktifkannya sebelum atau setelah bergabung ke saluran.

  • Pesan dapat berisi data apa saja, seperti teks.

  • Fungsionalitas DataChannel ARTC memerlukan pihak yang mengingest untuk mengingest aliran audio atau video. Pastikan skenario Anda mencakup aliran audio atau video aktif.

Callback terkait

  • Setelah pengirim berhasil membuka saluran pesan kustom, Anda dapat memanggil API ini untuk mengirim pesan kustom. Penerima memperoleh pesan tersebut dengan mendengarkan callback onDataChannelMessage.

Batasan

  • Streamer dapat mengirim dan menerima pesan, sedangkan viewer hanya dapat menerima pesan.

  • Panggil setParameter untuk mengaktifkan saluran pesan kustom.

  • Pengiriman data memiliki batasan berikut:

    • Bitrate maksimum: 30 KB/s.

    • Kecepatan paket maksimum: 60 paket per detik, dengan ukuran paket maksimum 1 KB.

Parameter

Parameter

Tipe

Deskripsi

Msg

AliRtcDataChannelMsg

Konten pesan.

Deskripsi Pengembalian

  • 0: Panggilan berhasil.

  • Nilai bukan nol: Panggilan gagal dan mengembalikan kode kesalahan.

startScreenShare

Penting

API ini akan segera dihentikan. Kami merekomendasikan Anda menggunakan API startScreenShare yang baru.

Anda dapat memulai berbagi layar dan aliran audio.

public abstract int startScreenShare(Intent intent);

Parameter

Nama

Deskripsi

intent

Anda dapat menyediakan Activity eksternal untuk memulai berbagi layar. Namun, kami merekomendasikan Anda meneruskan null.

nilai kembali

  • Nilai 0 menunjukkan keberhasilan.

  • Nilai lainnya menunjukkan kegagalan.

startScreenShare

Penting

API ini sudah usang. Kami merekomendasikan Anda menggunakan API startScreenShare yang baru.

Metode ini memulai berbagi layar.

public abstract int startScreenShare();

nilai kembali

  • 0: Berhasil.

  • Nilai lainnya: Gagal.

startScreenShare

Anda dapat memulai berbagi aliran video layar.

public abstract int startScreenShare(Intent intent, AliRtcScreenShareMode screenShareMode);

Parameter

Nama

Deskripsi

intent

Activity yang dibuat secara eksternal untuk memulai berbagi layar. Jika tidak ada Activity eksternal yang dibuat, teruskan null. Disarankan untuk meneruskan null.

screenShareMode

Mode berbagi layar. Untuk informasi lebih lanjut, lihat AliRtcScreenShareMode.

nilai kembali

  • 0: Berhasil.

  • Nilai lainnya: Gagal.

stopScreenShare

Menghentikan aliran berbagi layar, yang mencakup aliran audio.

public abstract int stopScreenShare();

nilai kembali

  • Nilai 0 menunjukkan keberhasilan.

  • Nilai lainnya menunjukkan kegagalan.

setAudioShareVolume

Anda dapat mengatur volume aliran audio untuk ingest aliran.

public abstract int setAudioShareVolume(int volume);

Parameter

Nama

Deskripsi

volume

Volume.

Nilai yang valid: 0 hingga 100. Nilai default: 50.

nilai kembali

  • 0: Berhasil.

  • Nilai lainnya: Gagal.

isScreenSharePublished

Periksa apakah ingest aliran berbagi layar sedang berlangsung.

public abstract boolean isScreenSharePublished();

nilai kembali

  • true: Aliran berbagi layar sedang diingest.

  • false: Tidak ada aliran berbagi layar yang diingest.

setScreenShareEncoderConfiguration

Mengatur properti encoding video untuk aliran berbagi layar.

public abstract void setScreenShareEncoderConfiguration(AliRtcScreenShareEncoderConfiguration config);

Metode ini mengonfigurasi parameter video untuk aliran berbagi layar, seperti resolusi, laju frame, bitrate, dan orientasi video.

Catatan

Semua parameter memiliki batas rentang yang sesuai. Jika parameter diatur di luar rentang validnya, SDK secara otomatis menyesuaikannya. Oleh karena itu, konfigurasi aktual mungkin berbeda dari pengaturan Anda.

Kapan harus memanggil

Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Jika Anda hanya perlu mengatur properti encoding video aliran berbagi layar sekali per sesi, kami merekomendasikan memanggilnya sebelum bergabung.

Parameter

Parameter

Jenis

Deskripsi

config

AliRtcScreenShareEncoderConfiguration

Properti encoding berbagi layar yang telah ditentukan sebelumnya, seperti resolusi, laju frame, bitrate, dan orientasi video.

setGlobalEnvironment

Mengatur lingkungan global.

public int setGlobalEnvironment(GlobalEnv env);

Metode ini menentukan lingkungan operasi global SDK, terutama memengaruhi tujuan transmisi pelaporan log dan data instrumentasi:

  • Ketika diatur ke lingkungan Tiongkok daratan, log dan data instrumentasi dilaporkan ke pusat data di Tiongkok daratan.

  • Ketika diatur ke lingkungan luar negeri, data terkait diarahkan ke pusat data luar negeri (seperti Singapura).

Kapan Harus Menghubungi

Kami merekomendasikan memanggil metode ini di awal inisialisasi aplikasi, misalnya dalam metode onCreate() dari Application.

Batasan Panggilan

  • Ini adalah pengaturan global. Panggil hanya sekali.

  • Panggilan ganda akan menimpa konfigurasi lingkungan sebelumnya. Hal ini dapat memengaruhi koneksi yang telah terbentuk atau status sesi. Jangan ubah pengaturan secara dinamis saat sedang berjalan.

Contoh Panggilan

AlivcEnv.GlobalEnv env = ENV_DEFAULT; // Jika Anda memerlukan lingkungan di luar Tiongkok, gunakan ENV_SEA.
AlivcBase.getEnvironmentManager().setGlobalEnvironment(env);

Parameter

Parameter

Tipe

Deskripsi

env

GlobalEnv

Tentukan lingkungan global. Nilai enumerasi yang didukung meliputi hal berikut:
ENV_DEFAULT: Lingkungan Tiongkok daratan.
ENV_SEA: Lingkungan di luar Tiongkok, seperti Singapura.




Nilai kembali
Mengembalikan kode hasil bertipe int:

  • 0: Menunjukkan keberhasilan.

  • Nilai selain 0: Menunjukkan kegagalan.