Topik ini menjelaskan API dalam SDK ApsaraVideo Real-time Communication untuk Android.
Daftar Isi
Antarmuka Dasar
|
API |
Description |
|
Buat instans AliRtcEngine menggunakan pola singleton. | |
|
Buat instans AliRtcEngine (pola singleton). | |
|
Hapus objek AliRtcEngine. | |
|
Hapus objek AliRtcEngine. | |
|
Aktifkan mode kompatibilitas HTML5. | |
|
Periksa apakah lingkungan saat ini kompatibel dengan HTML5. | |
|
Tetapkan pendengar untuk event callback perilaku pengguna lokal. | |
|
Tetapkan pendengar untuk event notifikasi mengenai perilaku pengguna remote. | |
|
Kueri versi SDK saat ini. |
Metode terkait channel
|
API |
Deskripsi |
|
Mengatur mode channel. | |
|
Mengatur mode pengkodean audio dan skenario. | |
|
Memeriksa apakah mode hanya audio diaktifkan. | |
|
Mengatur ke mode hanya audio atau mode audio-video. | |
|
Bergabung ke channel. | |
|
Bergabung ke channel. | |
|
Bergabung ke channel. | |
|
Meninggalkan saluran. | |
|
Memeriksa apakah Anda berada di dalam channel. | |
|
Mengatur role pengguna. | |
|
Mendapatkan role pengguna. | |
|
Me-refresh informasi autentikasi. | |
|
Segarkan informasi otentikasi. |
Metode terkait penerbitan dan subscription
|
API |
Deskripsi |
|
Menghentikan atau melanjutkan penerbitan aliran video lokal. Penerbitan diaktifkan secara default. | |
|
Menanyakan apakah aliran audio sedang diterbitkan. | |
|
Menentukan apakah akan berlangganan Track audio pengguna remote. Secara default, semua Track audio remote telah berlangganan. Panggil metode ini sebelum bergabung ke channel. | |
|
Menghentikan atau melanjutkan penarikan aliran audio dari pengguna remote tertentu. | |
|
Menghentikan atau melanjutkan penerimaan aliran audio dari semua pengguna remote. | |
Menentukan apakah akan mendorong aliran video lokal. SDK melakukan dorong secara default. | |
|
Menanyakan apakah aliran video sedang diterbitkan. | |
|
Menentukan apakah akan berlangganan aliran video pengguna remote. Secara default, semua aliran video remote telah berlangganan. Panggil metode ini sebelum bergabung ke channel. | |
|
Menghentikan atau melanjutkan subscription terhadap aliran video remote tertentu. | |
|
Menghentikan atau melanjutkan penerimaan semua aliran video remote. | |
|
Berlangganan atau berhenti berlangganan aliran media dari pengguna remote tertentu. Panggil metode ini ketika Track audio dan video keduanya tersedia dan memerlukan manajemen. | |
|
Menghentikan atau melanjutkan aliran media dari pengguna remote tertentu. Gunakan API ini ketika audio dan video keduanya tersedia dan memerlukan kontrol. | |
|
Menghentikan atau melanjutkan aliran media dari pengguna remote tertentu lintas channel. | |
|
Menghentikan atau melanjutkan subscription aliran untuk semua pengguna lintas channel. | |
|
Menyesuaikan volume pemutaran penarikan aliran. |
Metode terkait management perangkat audio
|
API |
Description |
|
Menentukan apakah akan menghentikan publikasi audio lokal. | |
|
Mengatur apakah akan menghentikan pemutaran aliran audio remote. | |
|
Menghentikan atau melanjutkan semua pemutaran audio remote. | |
|
Memulai pengumpulan audio. | |
|
Memulai pengumpulan audio. | |
|
Mematikan pengambilan audio. | |
|
Mengatur perangkat output audio default. | |
|
Mengatur output audio ke earpiece atau speaker. | |
|
Menanyakan apakah perangkat output audio saat ini adalah earpiece atau speaker. | |
|
Mengaktifkan deteksi volume. | |
|
Mengaktifkan pemantauan in-ear. | |
|
Mengatur volume pemantauan in-ear. | |
|
Mengaktifkan perangkat pemutaran audio. | |
|
Mematikan perangkat pemutaran audio. | |
|
Mengatur volume pemutaran lokal. | |
|
Mengatur volume perekaman. | |
|
Memutar file audio. | |
|
Menghentikan pemutaran file audio. | |
|
Mengaktifkan pendeteksian perangkat audio sebelum panggilan. | |
|
Mematikan deteksi pengambilan audio. |
Metode yang terkait dengan perubahan suara dan gema
|
API |
Deskripsi |
|
Mengatur mode efek suara perubahan voice. | |
|
Mengatur parameter pitch. | |
|
Mengatur mode reverberasi. | |
|
Mengatur mode reverberasi beserta parameternya. | |
|
Mengatur pola preset efek suara peningkatan kualitas voice. | |
|
Mengatur parameter equalizer audio (EQ) untuk menyesuaikan gain pada rentang frekuensi tertentu. |
Custom audio input
|
API |
Description |
|
Tambahkan aliran audio eksternal. | |
|
Input data aliran audio eksternal. | |
|
Atur volume audio eksternal untuk pengambilan aliran. | |
|
Kueri volume audio eksternal untuk pengambilan aliran. | |
|
Atur volume pemutaran aliran audio eksternal. | |
|
Dapatkan volume pemutaran aliran audio eksternal. | |
|
Hapus aliran audio eksternal. |
Iringan musik
|
API |
Deskripsi fitur |
|
Dapatkan informasi file audio. | |
|
Mulai pencampuran audio iringan. | |
|
Hentikan pencampuran accompaniment. | |
|
Mengatur volume iringan untuk pemutaran lokal maupun pengambilan aliran. | |
|
Atur volume accompaniment untuk pengambilan aliran. | |
|
Dapatkan volume pengambilan aliran pendamping. | |
|
Atur volume pemutaran lokal untuk accompaniment. | |
|
Dapatkan volume pemutaran iringan lokal. | |
|
Jeda pencampuran iringan. | |
|
Mulai ulang pencampuran iringan. | |
|
Dapatkan durasi file accompaniment, dalam milidetik. | |
|
Dapatkan progres pemutaran file accompaniment, dalam milidetik. | |
|
Atur posisi pemutaran file accompaniment. |
File Efek Suara
|
API |
Description |
|
Memuat efek suara sebelumnya. | |
|
Menghapus file efek suara yang telah dipraload. | |
|
Memulai pemutaran efek suara. | |
|
Menghentikan pemutaran efek suara. | |
|
Menghentikan pemutaran semua efek suara. | |
|
Menghentikan sementara pemutaran efek suara. | |
|
Menghentikan sementara pemutaran semua efek suara. | |
|
Melanjutkan pemutaran efek suara. | |
|
Kembalikan semua file efek suara. | |
|
Atur volume efek suara untuk pengambilan aliran. | |
|
Mendapatkan volume mixing efek suara untuk pengambilan aliran. | |
|
Atur volume semua efek suara untuk pengambilan aliran. | |
|
Atur volume efek suara untuk pemutaran lokal. | |
|
Kueri volume efek suara untuk pemutaran lokal. | |
|
Mengatur volume semua efek suara untuk pemutaran lokal. |
Rekam file audio dan video
|
API |
Deskripsi fitur |
|
Merekam file audio dan video (aac, wav, mp4). | |
|
Hentikan perekaman file audio/video. |
Metode terkait management perangkat video
|
API |
Description |
|
Membuat tampilan rendering SurfaceView. | |
|
Mengatur jendela rendering dan parameter drawing untuk pratinjau lokal. | |
|
Mengatur jendela rendering dan parameter drawing untuk video remote. | |
|
Mengatur preferensi pengambilan kamera. | |
|
Menonaktifkan atau mengaktifkan kembali pengambilan video lokal. | |
|
Menentukan apakah akan menghentikan penerbitan aliran video lokal. | |
|
Memeriksa apakah kamera dalam keadaan menyala. | |
|
Mengatur properti pengkodean video. | |
|
Mengatur properti decoding video. | |
|
Beralih antara kamera depan dan belakang. Secara default, kamera depan digunakan. | |
|
Menanyakan arah kamera saat ini. | |
|
Memulai pratinjau lokal. | |
|
Menghentikan pratinjau lokal. | |
|
Mengatur rasio penskalaan kamera. | |
|
Mendapatkan rasio zoom maksimum kamera. | |
|
Mendapatkan pengaturan penskalaan kamera saat ini. | |
|
Mengatur eksposur kamera. | |
|
Mendapatkan eksposur kamera. | |
|
Mendapatkan eksposur minimum yang didukung oleh kamera. | |
|
Mendapatkan eksposur maksimum yang didukung oleh kamera. | |
|
Mengatur toggle flash kamera. | |
|
Menunjukkan apakah perangkat mendukung fokus manual. | |
|
Mengatur titik fokus manual kamera. | |
|
Menentukan apakah kamera mendukung pengaturan titik eksposur. | |
|
Mengatur titik eksposur kamera. | |
|
Menentukan apakah kamera secara otomatis memfokuskan pada wajah. | |
|
Mengatur fokus wajah kamera. | |
|
Mengatur pencerminan video untuk pratinjau dan pengambilan aliran. | |
|
Mengatur waktu penskalaan pengambilan video. |
Metode yang terkait dengan callback data video
|
API |
Deskripsi fitur |
|
Mendaftarkan objek output data video. | |
|
Membatalkan pendaftaran objek output data video. | |
|
Mendaftarkan observer untuk data texture OpenGL aliran video Kamera lokal. | |
|
Membatalkan pendaftaran observer data texture OpenGL untuk aliran video Kamera lokal. | |
|
Fitur Snapshot video. |
Metode yang terkait dengan callback audio data
|
API |
Deskripsi Fitur |
|
Daftarkan objek output data volume. | |
|
Batalkan pendaftaran objek Outputs data volume. | |
|
Atur parameter callback audio. | |
|
Daftarkan callback audio data. |
Masukan video tersesuaikan
|
API |
Deskripsi |
|
Mengaktifkan sumber input video eksternal. | |
|
Mengimpor data video eksternal. |
Metode terkait berbagi layar
|
API |
Deskripsi fitur |
|
Aktifkan pengambilan aliran berbagi layar. | |
|
Mulai berbagi layar dan aliran audio. Catatan
Antarmuka ini akan segera ditinggalkan. | |
|
Mulai berbagi layar. Catatan
API ini akan segera ditinggalkan. | |
|
Hentikan aliran berbagi layar. | |
|
Atur volume aliran audio yang dibagikan. | |
|
Kueri apakah aliran berbagi layar sedang didorong. | |
|
Atur properti pengkodean video aliran layar. |
Live Streaming Bypass Interface
|
API |
Description |
|
Mulai live streaming yang direlay. | |
|
Perbarui parameter untuk live streaming yang direlay. | |
|
Hentikan live streaming bypass. | |
|
Kueri status live streaming yang direlay. |
Network quality probe API
|
API |
Description |
|
Mulai pengujian kualitas jaringan. | |
|
Hentikan pengujian kualitas jaringan. |
SEI
|
API |
Deskripsi fitur |
|
Dorong aliran SEI. | |
|
Dorong aliran SEI (ekstensi). |
Other APIs
|
API |
Description |
|
Mengatur parameter kustom. | |
|
Mendapatkan parameter kustom. | |
|
Mengatur path penyimpanan untuk file log SDK. | |
|
Mengatur tingkat log. | |
|
Mengatur orientasi perangkat. | |
|
Meminta fokus audio. | |
|
Melepaskan fokus audio. | |
|
Mendapatkan waktu jaringan saat ini. | |
|
Mengirim pesan kustom melalui data channel. |
Metode AliveEnv
|
API |
Deskripsi fitur |
|
Tetapkan environment global. |
Callbacks
AliRtcEngineEventListener
|
API |
Deskripsi fitur |
|
Callback status koneksi jaringan. Perhatikan callback ini. | |
|
Callback untuk abnormalitas perangkat lokal. Pelanggan harus menangani callback ini. | |
|
Callback untuk hasil bergabung ke channel. | |
|
Callback hasil meninggalkan channel. | |
|
Callback untuk perubahan pengambilan aliran audio. | |
|
Callback untuk perubahan status subscription audio. | |
|
Callback perubahan pengambilan aliran video. | |
|
Callback untuk perubahan subscription aliran kamera. | |
|
Callback perubahan status pengambilan aliran bypass. | |
|
Callback saat status task bypass berubah. | |
|
Callback perubahan kualitas jaringan. | |
|
Callback untuk deteksi kualitas jaringan. Callback ini dipicu sekitar 3 detik setelah deteksi dimulai. | |
|
Callback untuk hasil deteksi kualitas jaringan. Callback ini diberikan sekitar 30 detik setelah deteksi dimulai. | |
|
Antarmuka callback hasil screenshot. | |
|
Callback untuk perubahan pengambilan aliran screen sharing. | |
|
Callback untuk perubahan subscription aliran screen sharing. | |
|
Notifikasi kesalahan. | |
|
Callback status perangkat audio lokal. |
AliRtcEngineNotify
|
API |
Deskripsi fitur |
|
Notifikasi ini menunjukkan bahwa otentikasi pengguna akan kedaluwarsa dalam 30 detik. Pelanggan harus menangani callback ini. | |
|
Pengguna memanggil antarmuka yang memerlukan otentikasi, dan sisi server mengembalikan informasi kedaluwarsa. | |
|
Notifikasi pengguna remote offline. | |
|
Notifikasi pengguna remote online. | |
|
Notifikasi untuk pengambilan aliran remote. | |
|
Pesan bahwa Anda dikeluarkan dari server atau channel pertemuan telah ditutup. | |
|
Notifikasi bahwa pengguna remote dimute. | |
|
Perangkat audio mengganggu notifikasi awal. | |
|
Notifikasi selesainya gangguan perangkat audio. | |
|
Pengguna peer mengirim notifikasi mengenai data frame hitam video. | |
|
Mengirim notifikasi ketika pengguna peer menghentikan pengambilan aliran kamera. | |
|
Aplikasi pengguna remote berpindah ke latar belakang. | |
|
Aplikasi pengguna remote kembali ke latar depan. | |
|
Callback saat pemutaran efek suara lokal berakhir. | |
|
Callback informasi file audio. | |
|
Menerima callback berisi informasi ekstensi media. | |
|
Pesan ini dipicu ketika frame video pertama muncul untuk pengguna remote. | |
|
Pesan ini dipicu ketika pratinjau mulai menampilkan frame video pertama. | |
|
Callback saat menerima frame video pertama dari pengguna remote. | |
|
Callback saat paket video pertama dikirim. | |
|
Callback saat paket audio pertama dikirim. | |
|
Callback saat menerima paket video pertama. | |
|
Callback penerimaan paket audio pertama. | |
|
Callback untuk frame audio remote pertama yang didekodekan. | |
|
Callback status pemutaran iringan lokal. | |
|
Pemutaran iringan pengguna remote dimulai. | |
|
Callback akhir pemutaran iringan pengguna remote. | |
|
Callback data Real-time (dipicu setiap 2 detik). | |
|
Statistik data publikasi aliran video lokal (dipicu setiap 2 detik). | |
|
Berlangganan statistik data aliran video remote (dipicu setiap 2 detik). | |
|
Statistik data untuk aliran audio remote yang di-subscribe (dipicu setiap 2 detik). | |
|
Statistik data untuk aliran audio lokal yang dipublikasikan. Dipicu setiap 2 detik. | |
|
Callback perubahan fokus audio (hanya untuk Android). | |
Callback untuk perubahan rute audio (berlaku hanya untuk platform Android dan iOS). | |
Callback ini dipicu ketika Anda dapat mulai mengirim pesan melalui data channel. | |
|
Callback penerimaan pesan kustom melalui data channel. |
AliRtcAudioVolumeObserver
|
API |
Deskripsi fitur |
|
Callback untuk indikasi volume pengguna. | |
|
Deteksi aktivasi suara untuk callback pengguna aktif. | |
|
Callback untuk informasi volume selama pemeriksaan sebelum panggilan. |
AliRtcAudioFrameObserver
|
API |
Deskripsi fitur |
|
Callback data mentah audio yang ditangkap. | |
|
Callback data audio setelah pemrosesan 3A. | |
|
Callback data audio untuk pengambilan aliran (stream ingest). | |
|
Callback data pemutaran (playback). | |
|
Callback untuk data penarikan aliran remote (remote stream pulling). |
AliRtcDestroyCompletionObserver
|
API |
Deskripsi fitur |
|
Callback saat penghancuran Mesin DPI selesai. |
AliRtcTextureObserver
|
API |
Deskripsi Fitur |
|
Callback pembuatan konteks OpenGL. | |
|
Callback pembaruan texture OpenGL. | |
|
Callback penghapusan konteks OpenGL. |
AliRtcVideoObserver
|
API |
Deskripsi Fitur |
|
Callback data video yang ditangkap secara lokal dari subscription. | |
|
Callback untuk data video lokal pra-encode dari langganan. | |
|
Callback untuk data video jarak jauh yang telah dilanggan. | |
|
Format output data video | |
|
Output data video. |
Detail
getInstance[1/2]
Anda dapat memperoleh instans singleton dari AliRtcEngine.
public static AliRtcEngineImpl getInstance(Context context);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);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.
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.
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 |
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:
|
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.
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
AliRtcEngineNotifydan panggilsetRtcEngineNotify.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 |
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.
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 |
|
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 |
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.
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 |
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 |
Parameter mode encoding atau pengumpulan audio. Gunakan mode berkualitas tinggi (AliRtcEngineHighQualityMode). Catatan
Untuk interoperabilitas dengan web, atur laju sampel ke 48 kHz.
| |
|
scenario |
Parameter mode skenario audio meliputi hal berikut:
Catatan
Untuk SDK ARTC versi v6.21 ke atas, jangan atur ke skenario ruang obrolan ( |
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:
|
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 penggunacapabilityProfileberdasarkan skenario.
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>dariAliRtcEngineEventListener. 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 penggunacapabilityProfile.
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 setDefaultSubscribeAllRemoteVideoStreamssebelum 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>dariAliRtcEngineEventListener. 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 |
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 keAliCapabilityProfileAiHumansaat berkomunikasi dengan agen AI.
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>dariAliRtcEngineEventListener. 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 |
Parameter untuk bergabung ke saluran. Ini terutama digunakan dalam skenario interaksi real-time berbasis AI dan mencakup hal berikut:
|
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();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 |
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.
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 memanggiljoinChanneluntuk bergabung kembali ke saluran.
Parameter
|
Parameter |
Tipe |
Deskripsi |
|
authInfo |
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.
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 memanggiljoinChanneluntuk 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:
|
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:
|
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.
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.
|
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.
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:
|
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.
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:
|
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.
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:
|
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.
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 |
Jenis aliran video. | |
|
sub |
boolean |
Menentukan apakah akan 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.
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:
|
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.
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 |
Jenis aliran video. | |
|
subVideo |
boolean |
Menentukan apakah akan berlangganan ke aliran video pengguna jarak jauh. Nilai yang valid:
|
|
subAudio |
boolean |
Hentikan atau lanjutkan penarikan aliran audio pengguna jarak jauh tertentu. Nilai yang valid:
|
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
AliRtcVideoTrackCameradanAliRtcAudioTrackMicsaat memanggil.Untuk berhenti berlangganan aliran kamera tetapi tetap berlangganan aliran mikrofon, atur parameter
videoTrackkeAliRtcVideoTrackNodan parameteraudioTrackkeAliRtcAudioTrackMic.Untuk berhenti berlangganan keduanya, Anda dapat mengatur videoTrack dan audioTrack ke
AliRtcVideoTrackNodanAliRtcAudioTrackNo, 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 | Jenis aliran video. | |
|
audioTrack |
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 |
Aliran video yang akan dilanggan. | |
|
sub_audio |
boolean |
Mengontrol apakah akan menghentikan atau melanjutkan penarikan aliran audio pengguna jarak jauh tertentu. Nilai yang valid:
|
|
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 |
Jenis aliran video yang akan dilanggan. | |
|
sub_audio |
boolean |
Apakah akan berlangganan ke aliran audio pengguna jarak jauh.
|
|
sub |
boolean |
Hentikan atau lanjutkan langganan silang saluran untuk aliran pengguna tertentu.
|
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.
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].
|
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);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:
|
|
mode |
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:
|
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.
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:
|
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:
|
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?
|
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:
|
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.
|
|
smooth |
int |
Koefisien penghalusan. Nilai yang lebih tinggi meningkatkan tingkat penghalusan. Nilai yang lebih rendah mengurangi penghalusan tetapi meningkatkan kinerja real-time.
|
|
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:
|
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.
|
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].
|
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].
|
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 |
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 |
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 |
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 |
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
setAudioEffectBeautifyModesebelum memanggil metode ini.
Parameter
|
Parameter |
Tipe |
Deskripsi |
|
bandIndex |
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:
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.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.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:
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.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.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 |
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:
|
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 |
Jenis perekaman. | |
|
recordFormat |
Jenis format (wav, aac, mp4). | |
|
filePath |
String |
Nama file perekaman. |
|
audioConfig |
Konfigurasi audio. | |
|
videoConfig |
Konfigurasi video. | |
|
maxSize |
long |
Ukuran file maksimum. |
|
maxDuration |
long |
Durasi file maksimum. |
Nilai kembali
Nilai kembali TRUE menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.
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.
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 |
Parameter rendering, termasuk jendela rendering dan mode rendering. | |
|
track |
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 |
Konfigurasi rendering, termasuk jendela rendering dan mode rendering. | |
|
uid |
String |
ID Pengguna. |
|
track |
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 |
Preferensi penangkapan kamera, seperti arah kamera dan laju frame. Nilai default:
"-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.
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:
|
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.
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:
|
|
track |
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.
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 |
Properti encoding yang telah ditentukan sebelumnya. Nilai default:
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:
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.
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.
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.
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.
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.
|
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.
|
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.
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 |
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:
|
|
useTexture |
boolean |
Menentukan apakah akan menggunakan mode tekstur.
|
|
type |
Jenis aliran video. | |
|
renderMode |
Mode rendering. |
pushExternalVideoFrame
Mengimpor data video.
public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);Parameter
|
Parameter |
Tipe |
Deskripsi |
|
aliRawDataFrame |
Data frame. | |
|
streameType |
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 |
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 |
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 |
Status koneksi jaringan saat ini. | |
|
reason |
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 panggiljoinChanneluntuk 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, panggiljoinChanneluntuk 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:
|
|
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.
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 |
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 |
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.
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 |
Aliran audio pengguna jarak jauh setelah perubahan. | |
|
videoTrack |
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 |
Status ingest aliran sebelumnya. | |
|
newState |
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 |
Status langganan sebelumnya. | |
|
newState |
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:
|
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 |
Status ingest aliran sebelumnya. | |
|
newState |
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 |
Status langganan sebelumnya. | |
|
newState |
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:
|
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:
|
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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.
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.
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
setParameteruntuk 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.
|
|
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
onActiveSpeakerlagi.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.
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 |
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 parameterconfiguntuk mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio.Anda dapat memanggil registerAudioFrameObserver untuk mendaftarkan objek penerima data audio.
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 |
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.
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 |
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
audioSourcesaat memanggil enableAudioFrameObserver(true, audioSource, config). Anda juga dapat menggunakan parameterconfiguntuk mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio yang Anda peroleh.Panggil registerAudioFrameObserver untuk mendaftarkan objek penerima data audio.
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
audioSourcedalam enableAudioFrameObserver(true, audioSource, config) untuk mengaktifkan callback saat ini. Anda juga dapat menggunakan parameterconfiguntuk 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.
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 |
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);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 |
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 |
Jenis sumber video. | |
|
videoSample |
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 |
Jenis aliran video | |
|
videoRawData |
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 |
Jenis aliran video | |
|
videoSample |
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 |
Status streaming langsung bypass. | |
|
errorCode |
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 |
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 |
Status jaringan upstream. | |
|
downQuality |
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 |
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 |
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 |
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 |
|
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 |
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.
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 |
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
| |
|
config |
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 |
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:
onLocalVideoSample: Callback untuk data video yang ditangkap secara lokal.
onRemoteVideoSample: Callback untuk data video jarak jauh.
onPreEncodeVideoSample: Callback untuk data video sebelum encoding lokal.
Parameter
|
Parameter |
Tipe |
Deskripsi |
|
observer |
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.
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
textureIdasli.onTextureDestroy: Callback ini dipicu ketika konteks OpenGL internal SDK dihancurkan.
Parameter
|
Parameter |
Tipe |
Deskripsi |
|
observer |
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 |
Jenis aliran video untuk tangkapan layar. Nilai yang didukung:
|
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 |
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.
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 |
Konten pesan. |
Deskripsi Pengembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal dan mengembalikan kode kesalahan.
startScreenShare
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
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.
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 |
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 |
|
Tentukan lingkungan global. Nilai enumerasi yang didukung meliputi hal berikut: |
Nilai kembali
Mengembalikan kode hasil bertipe int:
-
0: Menunjukkan keberhasilan. -
Nilai selain
0: Menunjukkan kegagalan.