Topik ini menjelaskan antarmuka kit pengembangan perangkat lunak (SDK) Android ApsaraVideo Real-time Communication (ARTC).
Isi
Antarmuka dasar
API | Deskripsi |
Membuat instans AliRtcEngine (pola singleton). | |
Membuat instans AliRtcEngine (pola singleton). | |
Menghapus objek AliRtcEngine. | |
Menghapus objek AliRtcEngine. | |
Menetapkan mode kompatibilitas H5. | |
Memeriksa apakah mode saat ini kompatibel dengan H5. | |
Menetapkan pendengar untuk event callback perilaku pengguna lokal. | |
Menetapkan pendengar untuk event notifikasi perilaku pengguna jarak jauh. | |
Meminta versi SDK saat ini. |
Antarmuka terkait saluran
API | Deskripsi |
Menetapkan mode saluran. | |
Menetapkan mode pengkodean audio dan mode skenario. | |
Menanyakan apakah mode saat ini adalah mode hanya audio. | |
Menetapkan mode ke mode hanya audio atau mode audio dan video. | |
Bergabung dengan saluran. | |
Bergabung dengan saluran. | |
Bergabung dengan saluran. | |
Meninggalkan saluran. | |
Memeriksa apakah pengguna berada dalam saluran. | |
Menetapkan peran pengguna. | |
Mendapatkan peran pengguna. | |
Memperbarui informasi autentikasi. | |
Memperbarui informasi autentikasi. |
Antarmuka penerbitan dan langganan
API | Deskripsi |
Anda dapat menghentikan atau melanjutkan penerbitan aliran video lokal, yang diaktifkan secara default. | |
Memeriksa apakah aliran audio sedang diambil. | |
Menetapkan apakah akan berlangganan aliran audio secara default. Secara default, semua aliran audio jarak jauh berlangganan. Panggil metode ini sebelum Anda bergabung ke saluran. | |
Menghentikan atau melanjutkan penarikan aliran audio dari pengguna jarak jauh tertentu. | |
Menghentikan atau melanjutkan berlangganan semua aliran audio jarak jauh. | |
Menetapkan apakah akan mengambil aliran video lokal. SDK mengambil aliran video lokal secara default. | |
Memeriksa apakah aliran video sedang diterbitkan. | |
Menetapkan apakah akan berlangganan aliran video secara default. Secara default, semua aliran video jarak jauh berlangganan. Panggil metode ini sebelum Anda bergabung ke saluran. | |
Menghentikan atau melanjutkan berlangganan ke aliran video jarak jauh tertentu. | |
Menghentikan atau melanjutkan berlangganan semua aliran video jarak jauh. | |
Menghentikan atau melanjutkan berlangganan aliran media dari pengguna jarak jauh tertentu. Gunakan metode ini ketika aliran audio dan video ada dan perlu dikendalikan. | |
Menghentikan atau melanjutkan berlangganan aliran media dari pengguna jarak jauh tertentu. Gunakan metode ini ketika aliran audio dan video ada dan perlu dikendalikan. | |
Menghentikan atau melanjutkan berlangganan aliran media dari pengguna jarak jauh tertentu di saluran lain. | |
Menghentikan atau melanjutkan berlangganan ke aliran semua pengguna di seluruh saluran. | |
Menyesuaikan volume pemutaran dari aliran yang ditarik. |
Antarmuka manajemen perangkat audio
API | Deskripsi |
Menetapkan apakah akan menghentikan publikasi audio lokal. | |
Menetapkan apakah akan menghentikan pemutaran aliran audio jarak jauh. | |
Menghentikan atau melanjutkan pemutaran semua audio jarak jauh. | |
Mengaktifkan pengumpulan audio. | |
Mengaktifkan pengumpulan audio. | |
Menonaktifkan pengumpulan audio. | |
Menetapkan perangkat output audio default. | |
Menetapkan output audio ke earpiece atau speaker. | |
Mendapatkan perangkat output audio saat ini, yang dapat berupa earpiece atau speaker. | |
Mengaktifkan fitur deteksi volume. | |
Mengaktifkan pemantauan in-ear. | |
Menetapkan volume pemantauan in-ear. | |
Menghidupkan perangkat pemutaran audio. | |
Mematikan perangkat pemutaran audio. | |
Menetapkan volume pemutaran lokal. | |
Menetapkan volume perekaman. | |
Memainkan file audio. | |
Menghentikan pemutaran file audio. | |
Mengaktifkan deteksi perangkat pengumpulan audio sebelum panggilan. | |
Menonaktifkan deteksi pengumpulan audio. |
Perubahan suara audio dan efek gema
API | Deskripsi |
Menetapkan mode efek perubahan suara. | |
Menetapkan parameter pergeseran nada. | |
Menetapkan mode efek gema. | |
Menetapkan tipe efek gema dan parameter spesifik. |
Input audio kustom
API | Deskripsi |
Menambahkan aliran audio eksternal. | |
Memasukkan data aliran audio eksternal. | |
Menetapkan volume pengambilan aliran. | |
Mendapatkan volume pengambilan aliran. | |
Menetapkan volume pemutaran aliran audio eksternal. | |
Mendapatkan volume pemutaran aliran audio eksternal. | |
Menghapus aliran audio eksternal. |
Musik pengiring
API | Deskripsi |
Mendapatkan informasi file audio. | |
Memulai pencampuran musik pengiring. | |
Menghentikan pencampuran musik pengiring. | |
Menetapkan volume akompanimen, termasuk volume pemutaran lokal dan volume pengambilan. | |
Menetapkan volume pengambilan akompanimen. | |
Mendapatkan volume pengambilan akompanimen. | |
Menetapkan volume pemutaran lokal untuk akompanimen. | |
Mendapatkan volume pemutaran lokal akompanimen. | |
Menghentikan sementara pencampuran musik pengiring. | |
Melanjutkan pencampuran musik pengiring. | |
Mendapatkan durasi file musik pengiring dalam milidetik. | |
Mendapatkan kemajuan pemutaran file musik pengiring dalam milidetik. | |
Menetapkan posisi pemutaran file musik pengiring. |
File efek suara
API | Deskripsi |
Memuat terlebih dahulu file efek suara. | |
Menghapus file efek suara yang telah dimuat sebelumnya. | |
Memulai pemutaran efek suara. | |
Menghentikan pemutaran efek suara. | |
Menghentikan pemutaran semua efek suara. | |
Membekukan efek suara. | |
Membekukan semua efek suara. | |
Melanjutkan file efek suara yang ditentukan. | |
Melanjutkan semua file efek suara. | |
Menetapkan volume pencampuran untuk pengambilan efek suara. | |
Mendapatkan volume pencampuran untuk pengambilan efek suara. | |
Menetapkan volume pencampuran untuk semua pengambilan efek suara. | |
Menetapkan volume pemutaran lokal untuk efek suara. | |
Mendapatkan volume pemutaran lokal efek suara. | |
Menetapkan volume pemutaran lokal untuk semua efek suara. |
Merekam file audio dan video
API | Deskripsi |
Merekam file audio dan video (AAC, WAV, MP4). | |
Menghentikan perekaman file audio dan video. |
Antarmuka manajemen perangkat video
API | Deskripsi |
Membuat tampilan rendering SurfaceView. | |
Menetapkan jendela rendering dan parameter gambar untuk pratinjau lokal. | |
Menetapkan jendela rendering dan parameter gambar untuk video jarak jauh. | |
Menetapkan preferensi pengumpulan kamera. | |
Menonaktifkan atau mengaktifkan kembali pengumpulan video lokal. | |
Menetapkan apakah akan berhenti mempublikasikan aliran video lokal. | |
Memeriksa apakah kamera menyala. | |
Menetapkan properti pengkodean video. | |
Menetapkan properti decoding video. | |
Beralih antara kamera depan dan belakang. Kamera depan digunakan secara default. | |
Mendapatkan arah kamera saat ini. | |
Memulai pratinjau lokal. | |
Menghentikan pratinjau lokal. | |
Menetapkan rasio zoom kamera. | |
Mendapatkan rasio zoom maksimum yang didukung oleh kamera. | |
Mendapatkan pengaturan rasio zoom kamera saat ini. | |
Menetapkan eksposur kamera. | |
Mendapatkan eksposur kamera. | |
Mendapatkan eksposur minimum yang didukung oleh kamera. | |
Mendapatkan eksposur maksimum yang didukung oleh kamera. | |
Menghidupkan atau mematikan lampu kilat kamera. | |
Memeriksa apakah perangkat saat ini mendukung fokus manual. | |
Menetapkan titik fokus manual kamera. | |
Memeriksa apakah pengaturan titik eksposur kamera didukung. | |
Menetapkan titik eksposur kamera. | |
Memeriksa apakah fokus otomatis wajah kamera didukung. | |
Menetapkan fokus wajah kamera. | |
Menetapkan kemampuan pencerminan video untuk pratinjau dan pengambilan aliran. | |
Menetapkan waktu untuk penskalaan pengumpulan video. |
Konfigurasi callback data video
API | Deskripsi |
Mendaftarkan objek output data video. | |
Menghapus pendaftaran objek output data video. | |
Mendaftarkan pengamat untuk data tekstur OpenGL aliran video kamera lokal. | |
Membatalkan pendaftaran pengamat untuk data tekstur OpenGL aliran video kamera lokal. | |
Fitur snapshot video. |
Konfigurasi callback data audio
API | Deskripsi |
Mendaftarkan objek output data volume. | |
Menghapus pendaftaran objek output data volume. | |
Menetapkan parameter callback audio. | |
Mendaftarkan callback data audio. |
Input video kustom
API | Deskripsi |
Mengaktifkan sumber input video eksternal. | |
Memasukkan data video. |
Antarmuka berbagi desktop
API | Deskripsi |
Memulai pengambilan aliran berbagi layar. | |
Memulai berbagi layar dan aliran audio. Catatan Metode ini akan ditinggalkan. | |
Memulai berbagi layar. Catatan Metode ini akan ditinggalkan. | |
Menghentikan pengambilan aliran berbagi layar. | |
Menetapkan volume aliran audio yang dibagikan. | |
Memeriksa apakah pengambilan berbagi layar diaktifkan. | |
Menetapkan properti pengkodean video untuk aliran layar. |
Antarmuka streaming langsung bypass
API | Deskripsi |
Memulai bypass live streaming. | |
Memperbarui parameter bypass live streaming. | |
Menghentikan bypass live streaming. | |
Mendapatkan status bypass live streaming. |
Antarmuka probe kualitas jaringan
API | Deskripsi |
Memulai probe kualitas jaringan. | |
Menghentikan probe kualitas jaringan. |
SEI
API | Deskripsi |
Mendorong aliran SEI. | |
Mendorong aliran SEI (diperluas). |
Antarmuka lainnya
API | Deskripsi |
Menetapkan parameter kustom. | |
Mendapatkan parameter kustom. | |
Menetapkan jalur untuk menyimpan file log SDK. | |
Menetapkan tingkat log. | |
Menetapkan orientasi perangkat. | |
Meminta fokus audio. | |
Meninggalkan fokus audio. | |
Mendapatkan waktu jaringan saat ini. | |
Mengirim pesan kustom melalui saluran data. |
Event callback
AliRtcEngineEventListener
API | Deskripsi |
Callback untuk status konektivitas jaringan. Tangani callback ini. | |
Callback untuk pengecualian perangkat lokal. Tangani callback ini. | |
Callback untuk hasil bergabung dengan saluran. | |
Callback untuk hasil meninggalkan saluran. | |
Callback untuk perubahan status pengambilan audio. | |
Callback untuk perubahan status langganan audio. | |
Callback untuk perubahan status pengambilan video. | |
Callback untuk perubahan status langganan aliran kamera. | |
Callback untuk perubahan status pengambilan aliran bypass. | |
Callback untuk perubahan status tugas bypass. | |
Callback untuk perubahan kualitas jaringan. | |
Callback untuk probe kualitas jaringan. Callback ini diberikan sekitar 3 detik setelah probe dimulai. | |
Callback untuk hasil probe kualitas jaringan. Callback ini diberikan sekitar 30 detik setelah probe dimulai. | |
Callback untuk hasil snapshot. | |
Callback untuk perubahan status pengambilan berbagi layar. | |
Callback untuk perubahan status langganan aliran berbagi layar. | |
Notifikasi kesalahan. | |
Callback untuk status perangkat audio lokal. |
AliRtcEngineNotify
API | Deskripsi |
Notifikasi bahwa informasi autentikasi pengguna akan segera kedaluwarsa. Autentikasi kedaluwarsa 30 detik setelah notifikasi ini diterima. Tangani callback ini. | |
Server mengembalikan pesan "informasi kedaluwarsa" ketika pengguna memanggil antarmuka yang memerlukan autentikasi. | |
Notifikasi bahwa pengguna jarak jauh offline. | |
Notifikasi bahwa pengguna jarak jauh online. | |
Notifikasi tentang informasi pengambilan aliran jarak jauh. | |
Pesan bahwa Anda dihapus dari saluran oleh server atau saluran ditutup. | |
Notifikasi bahwa pengguna jarak jauh dimatikan suaranya. | |
Notifikasi bahwa gangguan perangkat audio telah dimulai. | |
Notifikasi bahwa gangguan perangkat audio telah berakhir. | |
Notifikasi bahwa pengguna jarak jauh mengirimkan frame video hitam. | |
Notifikasi bahwa pengguna jarak jauh telah menonaktifkan pengumpulan aliran kamera. | |
Aplikasi pengguna jarak jauh telah pindah ke latar belakang. | |
Aplikasi pengguna jarak jauh telah kembali ke latar depan. | |
Callback untuk saat pemutaran efek suara lokal selesai. | |
Callback untuk informasi file audio. | |
Callback untuk menerima pesan ekstensi media. | |
Pesan ini dipicu ketika frame video pertama dari pengguna jarak jauh ditampilkan. | |
Pesan ini dipicu ketika frame video pertama ditampilkan di pratinjau. | |
Callback untuk menerima frame video pertama dari pengguna jarak jauh. | |
Callback untuk mengirim paket video pertama. | |
Callback untuk mengirim paket audio pertama. | |
Callback untuk menerima paket video pertama. | |
Callback untuk menerima paket audio pertama. | |
Callback saat frame audio jarak jauh pertama telah didekodekan. | |
Callback untuk status pemutaran akompanimen lokal. | |
Callback untuk saat pemutaran musik latar pengguna jarak jauh dimulai. | |
Callback untuk saat pemutaran musik latar pengguna jarak jauh selesai. | |
Callback data real-time. Callback ini dipicu setiap 2 detik. | |
Statistik data untuk aliran video lokal yang diterbitkan. Callback ini dipicu setiap 2 detik. | |
Statistik data untuk aliran video jarak jauh yang berlangganan. Callback ini dipicu setiap 2 detik. | |
Statistik data untuk aliran audio jarak jauh yang berlangganan. Callback ini dipicu setiap 2 detik. | |
Statistik data untuk aliran audio lokal yang diterbitkan. Callback ini dipicu setiap 2 detik. | |
Callback untuk perubahan fokus audio. Ini hanya berlaku untuk platform Android. | |
Callback saat rute audio berubah. Ini hanya berlaku untuk platform Android dan iOS. | |
Callback bahwa Anda dapat mulai mengirim pesan saluran data. | |
Callback untuk menerima pesan kustom dari saluran data. |
AliRtcAudioVolumeObserver
API | Deskripsi |
Callback untuk prompt volume pengguna. | |
Aktivasi suara. Callback saat pengguna aktif terdeteksi. | |
Tes pra-panggilan. Callback untuk informasi volume. |
AliRtcAudioFrameObserver
API | Deskripsi |
Callback untuk data pengumpulan audio mentah. | |
Callback untuk data audio setelah pemrosesan 3A. | |
Callback untuk data audio yang diingest. | |
Callback untuk data pemutaran. | |
Callback untuk data penarikan aliran jarak jauh. |
AliRtcDestroyCompletionObserver
API | Deskripsi |
Callback untuk saat proses penghancuran mesin selesai. |
AliRtcTextureObserver
API | Deskripsi |
Callback untuk pembuatan konteks OpenGL. | |
Callback untuk pembaruan tekstur OpenGL. | |
Callback untuk penghancuran konteks OpenGL. |
AliRtcVideoObserver
API | Deskripsi |
Callback untuk data video lokal yang dikumpulkan dan dilanggan. | |
Callback untuk data video lokal pra-pengkodean yang dilanggan. | |
Callback untuk data video jarak jauh yang dilanggan. | |
Format output data video. | |
Konten output data video. |
Detail antarmuka
getInstance[1/2]
Mendapatkan instance AliRtcEngine (pola singleton).
public static AliRtcEngineImpl getInstance(Context context);Anda dapat menggunakan metode ini atau getInstance[2/2] untuk membuat instance AliRtcEngine. Perbedaannya adalah bahwa
getInstance[2/2]memungkinkan Anda menentukan konfigurasi tambahan saat membuat instance.
Kapan harus memanggil
Anda dapat memanggil metode ini untuk membuat instance AliRtcEngine sebelum memanggil API lain dari SDK ARTC.
Batasan
Hanya satu instance AliRtcEngine yang dapat dibuat per aplikasi.
Deskripsi metrik
Parameter | Tipe | Deskripsi |
context | Context | Konteks Aktivitas Android. |
Nilai kembali
SDK hanya mendukung satu instance AliRtcEngine per aplikasi.
getInstance[2/2]
Mendapatkan instance AliRtcEngine (pola singleton).
public static AliRtcEngineImpl getInstance(Context context, String extras);Anda dapat menggunakan metode ini atau
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8f628e533bein" id="72113a6d4d6t8">getInstance[1/2]</a>untuk membuat instance AliRtcEngine. Metode ini memungkinkan Anda menentukan lebih banyak konfigurasi selama pembuatan instance.
Kapan harus memanggil
Anda dapat memanggil metode ini untuk membuat instance AliRtcEngine sebelum memanggil API lain dari SDK ARTC.
Batasan
SDK hanya mendukung pembuatan satu instance AliRtcEngine untuk setiap aplikasi.
Parameter
Parameter | Tipe | Deskripsi |
context | Context | Konteks Aktivitas Android. |
extras | String | Digunakan untuk menerima parameter grayscale dari pelanggan untuk mengonfigurasi fitur SDK khusus dengan JSON. Ini bisa berupa string kosong. |
Nilai pengembalian
Mengembalikan instance singleton dari kelas AliRtcEngineImpl. Kelas AliRtcEngineImpl adalah kelas turunan dari kelas AliRtcEngine.
destroy[1/2]
Menghapus objek AliRtcEngine.
public abstract void destroy();Metode ini menghancurkan objek singleton AliRtcEngine dan melepaskan semua sumber daya internal. Setelah Anda memanggil metode ini, Anda tidak dapat lagi menggunakan metode atau callback AliRtcEngine lainnya. Untuk menggunakan engine lagi, Anda harus memanggil getInstance untuk membuat instance baru.
Anda dapat menggunakan metode ini atau
destroy[2/2]untuk menghancurkan instance engine. Perbedaannya adalah destroy[2/2] memungkinkan Anda meneruskan objek pendengar untuk diberi tahu saat penghancuran selesai.Untuk membuat instance AliRtcEngine lain setelah menghancurkan satu, pastikan metode ini telah selesai dieksekusi sebelum Anda membuat instance baru.
Kapan harus memanggil
Setelah komunikasi audio dan video berakhir, Anda dapat memanggil metode ini untuk melepaskan instance dan mengurangi penggunaan sumber daya yang tidak perlu.
Batasan
Untuk mencegah deadlock, jangan panggil metode ini di dalam callback SDK apa pun.
Setelah Anda memanggil metode ini, atur objek engine ke null. Contoh berikut menunjukkan cara melakukannya:
mAliRtcEngine.destroy(); mAliRtcEngine = null;
destroy[2/2]
Menghapus objek AliRtcEngine.
public abstract void destroy(AliRtcDestroyCompletionObserver observer);Metode ini menghancurkan objek singleton AliRtcEngine dan melepaskan semua sumber daya internal. Setelah Anda memanggil metode ini, Anda tidak dapat lagi menggunakan metode atau callback AliRtcEngine lainnya. Untuk menggunakannya lagi, Anda harus memanggil getInstance untuk membuat instance baru.
Metode ini merupakan pemanggilan asinkron. Metode ini menyediakan pengamat bagi pengembang untuk memantau penyelesaian operasi penghancuran. Anda hanya dapat membuat instance baru setelah callback OnDestroyCompletion selesai. Penghancuran tidak dianggap selesai hingga callback pengamat dipicu.
Kapan harus memanggil
Setelah komunikasi audio dan video selesai, Anda dapat memanggil metode ini untuk melepaskan instance.
Batasan
Untuk mencegah deadlock, jangan panggil metode ini di salah satu callback SDK.
Callback terkait
Setelah objek engine SDK dihancurkan, callback OnDestroyCompletion dipicu. Ini menunjukkan bahwa Anda dapat membuat instance baru.
Parameter
Parameter | Tipe | Deskripsi |
observer | Callback notifikasi saat penghancuran engine selesai. Anda dapat mendengarkan callback ini untuk memastikan bahwa sumber daya telah sepenuhnya dilepaskan. |
setH5CompatibleMode
Menetapkan apakah akan mengaktifkan mode kompatibilitas H5.
public static int setH5CompatibleMode(int enable);Parameter
Parameter | Tipe | Deskripsi |
enable | int | Menetapkan apakah akan kompatibel dengan H5. Nilai yang valid:
|
Versi saat ini tidak mendukung perubahan mode kompatibilitas H5 setelah instance AliRtcEngine dibuat. Anda harus memanggil metode ini sebelum membuat instance.
getH5CompatibleMode
Memeriksa apakah mode saat ini kompatibel dengan H5.
public static int getH5CompatibleMode();Nilai kembali
1: Mode kompatibilitas H5 diaktifkan.
0: Mode kompatibilitas H5 tidak diaktifkan.
setRtcEngineEventListener
Menetapkan pendengar untuk event notifikasi perilaku pengguna lokal.
public abstract void setRtcEngineEventListener(AliRtcEngineEventListener listener);Metode ini menetapkan callback untuk event yang terkait dengan pengguna lokal. Event ini mencakup hasil bergabung atau meninggalkan saluran, perubahan peran pengguna, perubahan status pengambilan audio dan video, perubahan status langganan audio dan video, perubahan kualitas jaringan dan hasil probe, hasil snapshot, notifikasi pengecualian dan status perangkat, serta notifikasi kesalahan SDK. Dengan mengimplementasikan metode callback kelas ini, pengembang dapat menangani siklus hidup dan perubahan status yang terkait dengan pengguna lokal dan Komunikasi Waktu Nyata (RTC).
Secara default, semua metode memiliki implementasi kosong. Anda tidak perlu mengimplementasikan semua callback. Anda dapat mengimplementasikan metode event yang sesuai berdasarkan kebutuhan bisnis Anda.
Untuk mengimplementasikan callback yang terkait dengan pengguna jarak jauh, event frame dan paket pertama, status pemutaran efek suara dan akompanimen musik, atau informasi autentikasi, Anda dapat mengimplementasikan callback terkait dari kelas
AliRtcEngineNotifydan memanggil antarmukasetRtcEngineNotify.Jangan melakukan operasi yang memakan waktu di metode callback, seperti memanggil metode destroy engine. Hal ini dapat menyebabkan pemblokiran yang tidak perlu dan memengaruhi operasi SDK.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum bergabung ke saluran.
Callback terkait
Jika terjadi pengecualian selama operasi, SDK pertama-tama mencoba mekanisme pemulihan internalnya untuk pulih secara otomatis. Untuk kesalahan yang tidak dapat diselesaikan secara internal, SDK memberi tahu aplikasi Anda melalui antarmuka callback yang telah ditentukan. Berikut adalah beberapa callback utama yang tidak dapat ditangani SDK dan yang perlu dipantau serta ditanggapi oleh lapisan aplikasi:
Penyebab pengecualian | Callback dan parameter | Solusi | Deskripsi |
Autentikasi gagal | Parameter result dalam callback onJoinChannelResult mengembalikan AliRtcErrJoinBadToken. | Jika kesalahan ini terjadi, periksa apakah token benar. | Ketika pengguna memanggil API, jika autentikasi gagal, sistem mengembalikan pesan kesalahan kegagalan autentikasi di callback API. |
Penyimpangan koneksi jaringan | Callback onConnectionStatusChange mengembalikan AliRtcConnectionStatusFailed. | Jika pengecualian ini terjadi, aplikasi perlu bergabung kembali ke saluran. | SDK dapat memulihkan diri secara otomatis dari pemutusan koneksi jaringan untuk periode tertentu. Namun, jika waktu pemutusan melebihi ambang batas yang telah ditentukan, timeout dipicu dan koneksi hilang. Dalam kasus ini, aplikasi harus memeriksa status jaringan dan memandu pengguna untuk bergabung kembali ke saluran. |
Penyimpangan perangkat lokal | onLocalDeviceException | Jika pengecualian ini terjadi, aplikasi perlu memeriksa apakah izin dan perangkat keras normal. | Layanan RTC mendukung deteksi perangkat dan diagnosis pengecualian. Ketika terjadi pengecualian perangkat lokal, layanan RTC memberi tahu pelanggan melalui callback. Jika SDK tidak dapat menyelesaikan masalah, aplikasi perlu campur tangan untuk memeriksa apakah perangkat normal. |
Parameter
Parameter | Tipe | Deskripsi |
listener | Menetapkan pendengar untuk event notifikasi perilaku pengguna lokal. |
setRtcEngineNotify
Menetapkan pendengar untuk event notifikasi perilaku pengguna jarak jauh.
public abstract void setRtcEngineNotify(AliRtcEngineNotify listener);Metode ini menetapkan callback untuk event yang terkait dengan pengguna jarak jauh. Event ini mencakup notifikasi untuk pengguna jarak jauh online atau offline, status pengambilan aliran audio dan video pengguna jarak jauh, perubahan resolusi pengguna jarak jauh, status pengiriman dan penerimaan frame atau paket pertama untuk audio dan video jarak jauh dan lokal, status pemutaran efek suara dan akompanimen lokal dan jarak jauh, status bisu, statistik aliran audio dan video lokal dan jarak jauh, penerimaan SEI, penerimaan pesan kustom, dan perubahan informasi autentikasi. Dengan mengimplementasikan metode callback kelas ini, pengembang dapat menangani informasi event yang terkait dengan interaksi dengan pengguna jarak jauh.
Secara default, semua metode memiliki implementasi kosong. Anda tidak perlu mengimplementasikan semua metode. Anda dapat mengimplementasikan metode event yang sesuai berdasarkan kebutuhan bisnis Anda.
Jangan melakukan operasi yang memakan waktu di metode callback, seperti memanggil metode destroy engine. Hal ini dapat menyebabkan pemblokiran yang tidak perlu dan memengaruhi operasi SDK.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum bergabung ke saluran.
Callback terkait
Jika terjadi pengecualian selama operasi, SDK pertama-tama mencoba mekanisme pemulihan internalnya untuk pulih secara otomatis. Untuk kesalahan yang tidak dapat diselesaikan secara internal, SDK memberi tahu aplikasi Anda melalui antarmuka callback yang telah ditentukan. Berikut adalah beberapa callback utama yang tidak dapat ditangani SDK dan yang perlu dipantau serta ditanggapi oleh lapisan aplikasi:
Penyebab pengecualian | Callback dan parameter | Solusi | Deskripsi |
Dihapus dari saluran | onBye |
| Layanan RTC menyediakan fitur bagi administrator untuk secara aktif menghapus peserta. |
Autentikasi hampir kedaluwarsa | onWillAuthInfoExpire | Jika pengecualian ini terjadi, aplikasi perlu mendapatkan informasi autentikasi terbaru dan kemudian memanggil refreshAuthInfo untuk memperbaruinya. | Kesalahan kedaluwarsa autentikasi terjadi dalam dua situasi: ketika pengguna memanggil API atau selama eksekusi program. Oleh karena itu, umpan balik kesalahan dikirim melalui callback API atau callback kesalahan terpisah. |
Autentikasi telah kedaluwarsa | onAuthInfoExpired | Jika pengecualian ini terjadi, aplikasi perlu bergabung kembali ke saluran. | Kesalahan kedaluwarsa autentikasi terjadi dalam dua situasi: ketika pengguna memanggil API atau selama eksekusi program. Oleh karena itu, umpan balik kesalahan dikirim melalui callback API atau callback kesalahan terpisah. |
Parameter
Parameter | Tipe | Deskripsi |
listener | Menetapkan pendengar untuk event notifikasi perilaku pengguna jarak jauh untuk menerima pesan dari engine. |
getSdkVersion
Mengambil versi SDK saat ini.
public static String getSdkVersion();Nilai kembali
Nomor versi SDK saat ini dalam format string, seperti "2.5.0.x".
setChannelProfile
Menetapkan mode saluran.
public abstract int setChannelProfile(AliRTCSdkChannelProfile channelProfile);Metode ini menetapkan mode saluran. SDK menyediakan dua mode saluran: panggilan video dan streaming interaktif.
Mode panggilan video: Semua pengguna adalah streamer dan dapat mengambil dan menarik aliran.
Mode streaming 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 menetapkan peran pengguna. Pengguna yang mengambil aliran di saluran diberi peran streamer (AliRTCSdkInteractive). Jika pengguna hanya perlu menarik aliran dan tidak mengambil aliran, mereka diberi peran viewer (AliRTCSdkLive). Mode ini direkomendasikan untuk skenario RTC.
Untuk skenario RTC, kami merekomendasikan agar Anda menggunakan mode streaming interaktif. Anda dapat menyetel mode ke
AliRTCSdkInteractiveLivedengan memanggil antarmuka ini.Pengguna di saluran yang sama harus menggunakan mode saluran yang sama.
Kapan harus memanggil
Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran. Anda tidak dapat mengatur ulang mode saluran setelah bergabung ke saluran. Anda dapat mengatur ulangnya setelah meninggalkan saluran.
Parameter
Parameter | Tipe | Deskripsi |
channelProfile | Jenis saluran. Kami merekomendasikan agar Anda menggunakan mode interaktif untuk semua skenario RTC. |
Nilai kembali
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal. Misalnya, nilai 1 menunjukkan bahwa SDK belum diinisialisasi atau telah dihancurkan.
setAudioProfile
Menetapkan mode pengkodean audio dan mode skenario audio.
public abstract int setAudioProfile(AliRtcAudioProfile profile, AliRtcAudioScenario scenario);Metode ini menetapkan mode pengkodean audio dan mode skenario audio. Untuk informasi lebih lanjut, lihat Operasi dan konfigurasi audio umum. SDK ARTC menggunakan mode audio berkualitas tinggi (AliRtcEngineHighQualityMode) dan mode skenario musik (AliRtcSceneMusicMode) secara default. Jika pengaturan default tidak memenuhi kebutuhan Anda, Anda dapat memanggil metode ini untuk mengubahnya.
Kapan harus memanggil
Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran. Anda tidak dapat mengatur ulang pengaturan setelah bergabung ke saluran. Anda dapat mengatur ulangnya setelah meninggalkan saluran.
Parameter
Parameter | Tipe | Deskripsi |
profile | Parameter mode pengumpulan atau pengkodean audio. Kami merekomendasikan agar Anda menggunakan mode audio berkualitas tinggi (AliRtcEngineHighQualityMode). Catatan Untuk interoperabilitas dengan web, tetapkan laju sampel ke 48 kHz.
| |
scenario | Parameter mode skenario audio. Ini mencakup:
|
Nilai kembali
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai kurang dari 0 menunjukkan bahwa pemanggilan metode gagal.
isAudioOnly
Memeriksa apakah mode saat ini hanya audio.
public abstract boolean isAudioOnly();Nilai kembali
true: Mode saat ini hanya audio. false: Mode saat ini adalah audio dan video.
setAudioOnlyMode
Menetapkan apakah akan mengaktifkan mode hanya audio.
public abstract int setAudioOnlyMode(boolean audioOnly);Parameter
Parameter | Tipe | Deskripsi |
audioOnly | boolean | Menetapkan mode ke hanya audio atau audio dan video. Nilai yang valid:
|
Nilai kembali
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal.
joinChannel[1/3]
Bergabung dengan saluran menggunakan autentikasi satu parameter.
public abstract int joinChannel(String token, String channelId, String userId, String userName);Anda dapat menggunakan metode ini untuk bergabung ke saluran. Alibaba Real-Time Communication (ARTC) mengatur pengguna ke dalam saluran. Pengguna harus bergabung ke saluran untuk menerbitkan atau berlangganan aliran audio dan video. Metode ini, joinChannel[2/3], dan joinChannel[3/3] semuanya dapat digunakan untuk bergabung ke saluran. Mereka berbeda dalam metode autentikasi dan informasi pengguna yang mereka lewati. Detailnya sebagai berikut:
Metode ini menggunakan autentikasi parameter tunggal. Untuk bergabung ke saluran, Anda harus melewatkan token yang dihasilkan untuk autentikasi berbasis token. Metode ini direkomendasikan untuk bergabung ke saluran dalam skenario Komunikasi Waktu Nyata (RTC).
joinChannel[2/3]menggunakan autentikasi multi-parameter. Anda harus melewatkan token yang dihasilkan untuk autentikasi berbasis token dan informasi pengguna yang sama yang digunakan untuk menghasilkan token.joinChannel[3/3]digunakan untuk skenario interaksi waktu nyata berbasis AI. Anda harus melewatkan token untuk autentikasi parameter tunggal dan menyetel properti penggunacapabilityProfileberdasarkan skenario.
Secara default, ketika Anda bergabung ke saluran, Anda berlangganan aliran audio dan video semua pengguna lain di saluran dan menerbitkan aliran audio dan video lokal Anda. Jika Anda ingin menonaktifkan 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 API ini untuk mematikan langganan ke aliran audio atau video.
Kapan Harus Memanggil
Anda dapat memanggil metode ini setelah membuat mesin.
Batasan penggunaan
Setelah berhasil bergabung ke saluran, untuk bergabung ke saluran lain, 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. Anda hanya dapat bergabung ke saluran baru setelah 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.Metode ini memungkinkan pengguna untuk bergabung hanya dengan satu saluran pada satu waktu.
Aplikasi yang menggunakan App ID berbeda tidak dapat berkomunikasi satu sama lain.
Jika upaya bergabung ke saluran gagal, jangan panggil metode ini untuk mencoba lagi.
Callbacks
Pemanggilan metode ini yang berhasil memicu callback berikut:
Hasil klien lokal bergabung ke saluran dikembalikan oleh callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="712006e223y8z">onJoinChannelResult</a>diAliRtcEngineEventListener.Setelah berhasil bergabung ke saluran, callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="40a9273affui1">onRemoteUserOnLineNotify</a>dipicu.
Parameter
Parameter | Tipe | Deskripsi |
token | String | Token autentikasi untuk autentikasi satu parameter. |
channelId | String | ID saluran. Nilai ini harus sama dengan ID saluran yang digunakan untuk menghasilkan token. |
userId | String | ID pengguna. ID ini harus sama dengan ID pengguna yang digunakan untuk menghasilkan token. |
userName | String | Nama tampilan pengguna. Ini bukan ID pengguna. |
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai non-nol menunjukkan bahwa pemanggilan metode gagal.
joinChannel[2/3]
Bergabung dengan saluran menggunakan beberapa parameter.
public abstract int joinChannel(AliRtcAuthInfo authInfo, String userName);Metode ini digunakan untuk bergabung ke saluran. Alibaba Real-Time Communication (ARTC) menggunakan saluran untuk mengelompokkan pengguna. Pengguna harus bergabung ke saluran agar dapat memublikasikan atau berlangganan aliran audio dan video. Anda dapat menggunakan metode ini, joinChannel[1/3], atau joinChannel[3/3] untuk bergabung ke saluran. Ketiganya berbeda dalam metode autentikasi dan informasi pengguna yang dikirimkan. Perbedaannya adalah sebagai berikut:
joinChannel[1/3]adalah metode untuk bergabung ke saluran dengan satu parameter. Untuk bergabung ke saluran, Anda harus mengirimkan token yang dihasilkan untuk autentikasi satu parameter. Untuk informasi selengkapnya, lihat Autentikasi berbasis token. Metode ini direkomendasikan untuk skenario RTC.Metode ini digunakan untuk bergabung ke saluran dengan beberapa parameter. Untuk bergabung, Anda harus mengirimkan token yang dihasilkan untuk autentikasi multi-parameter beserta informasi pengguna yang digunakan untuk menghasilkan token tersebut. Untuk informasi selengkapnya, lihat Autentikasi berbasis token.
joinChannel[3/3]digunakan untuk skenario interaksi real-time berbasis AI. Untuk bergabung ke saluran, Anda harus mengirimkan token untuk autentikasi satu parameter dan mengatur properti penggunacapabilityProfilesesuai dengan skenario yang digunakan.
Secara default, saat Anda bergabung ke saluran, Anda akan berlangganan aliran audio dan video dari semua pengguna lain di saluran tersebut serta memublikasikan aliran audio dan video Anda sendiri. Jika ingin menonaktifkan 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="474adcf738uxu">setDefaultSubscribeAllRemoteAudioStreams</a>dan setDefaultSubscribeAllRemoteVideoStreamssebelum memanggil metode ini untuk menonaktifkan langganan terhadap aliran audio atau video.Metode ini digunakan untuk bergabung ke saluran dengan beberapa parameter. Sebelum memanggil metode ini, Anda harus menghasilkan token untuk autentikasi multi-parameter. Untuk informasi selengkapnya, lihat Autentikasi berbasis token.
Batas Pemanggilan
Jika Anda sedang berada di dalam suatu saluran dan ingin bergabung ke saluran lain, 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>dan menunggu callback<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="6aefdfedb0op3">onLeaveChannelResult</a>dariAliRtcEngineEventListenersebelum dapat bergabung ke saluran baru.Anda hanya dapat bergabung ke satu saluran dalam satu waktu.
Aplikasi dengan ID Aplikasi yang berbeda tidak dapat berkomunikasi satu sama lain.
Callbacks
Pemanggilan sukses metode ini memicu callback berikut:
Hasil dari klien lokal yang bergabung ke saluran dikembalikan melalui callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="fb41cdcfc6acj">onJoinChannelResult</a>diAliRtcEngineEventListener.Setelah Anda berhasil bergabung ke saluran, callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="8e9d69ebe54sr">onRemoteUserOnLineNotify</a>akan dipicu untuk pengguna jarak jauh.
Parameter
Parameter | Tipe | Deskripsi |
authInfo | Informasi autentikasi. Token harus berupa token multi-parameter. Parameter lain yang terkait dengan pembuatan token harus sama dengan yang digunakan saat menghasilkan token tersebut dan tidak boleh kosong. | |
userName | String | Nama tampilan pengguna, bukan ID pengguna. Parameter ini boleh kosong. |
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal.
joinChannel[3/3]
Bergabung ke saluran menggunakan autentikasi parameter tunggal.
public abstract int joinChannel(String token, AliRTCSdkChannelParam channelParam);Metode ini bergabung dengan saluran. Alibaba Real-Time Communication (ARTC) menggunakan saluran untuk mengatur pengguna. Pengguna harus bergabung dengan saluran untuk memublikasikan atau berlangganan aliran audio dan video. Anda dapat menggunakan metode ini, joinChannel[1/3], atau joinChannel[2/3] untuk bergabung dengan saluran. Metode-metode ini berbeda dalam metode autentikasi dan informasi pengguna yang mereka teruskan, seperti yang dijelaskan di bawah ini:
joinChannel[1/3]adalah metode untuk bergabung ke saluran dengan satu parameter dalam skenario Komunikasi Waktu Nyata (RTC). Untuk bergabung ke saluran, Anda harus meneruskan token yang dihasilkan untuk autentikasi satu parameter. Untuk informasi selengkapnya, lihat Token authentication. Metode ini direkomendasikan untuk bergabung ke saluran dalam skenario RTC.joinChannel[2/3]adalah metode untuk bergabung dengan saluran dengan beberapa parameter. Untuk bergabung dengan saluran, Anda harus menyertakan token yang dihasilkan untuk autentikasi multi-parameter dan informasi pengguna yang digunakan untuk menghasilkan token tersebut. Untuk informasi selengkapnya, lihat Autentikasi token.Metode ini digunakan untuk skenario interaksi real-time berbasis AI. Anda harus meneruskan token untuk autentikasi parameter tunggal dan mengatur properti pengguna
capabilityProfileberdasarkan skenario tersebut. Jika Anda ingin berkomunikasi dengan Agen AI, atur properti ini keAliCapabilityProfileAiHuman.
Secara default, saat Anda bergabung ke saluran, Anda berlangganan aliran audio dan video dari semua pengguna lain serta memublikasikan aliran audio dan video Anda sendiri. Untuk menonaktifkan 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="5423d42229iih">setDefaultSubscribeAllRemoteAudioStreams</a> dan <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="0112175788ybe">setDefaultSubscribeAllRemoteVideoStreams</a> sebelum memanggil metode ini untuk mematikan langganan terhadap aliran audio atau video.
Batasan
Setelah Anda berhasil bergabung ke saluran, untuk bergabung ke saluran lain, 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. Anda hanya dapat bergabung ke saluran baru setelah 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.Metode ini hanya mendukung bergabung ke satu saluran dalam satu waktu.
Aplikasi yang menggunakan App ID berbeda tidak dapat saling berkomunikasi.
Jangan memanggil metode ini untuk mencoba kembali bergabung ke saluran jika upaya awal gagal.
Callbacks
Panggilan yang berhasil ke metode ini memicu callback berikut:
Hasil dari klien lokal yang bergabung ke dalam saluran dikembalikan oleh callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#89f5ad2d0bnd1" id="879ae2fa04zjd">onJoinChannelResult</a>diAliRtcEngineEventListener.Setelah Anda berhasil bergabung ke dalam saluran, callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7298cad465wnd" id="9b5662c5a0nvf">onRemoteUserOnLineNotify</a>dipicu untuk pengguna jarak jauh.
Parameter
Parameter | Tipe | Deskripsi |
token | String | Token untuk bergabung dengan saluran dengan satu parameter. |
channelParam | Parameter untuk bergabung dengan saluran. Ini terutama digunakan untuk skenario interaksi real-time AI. Ini mencakup hal-hal berikut:
|
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal.
leaveChannel
Meninggalkan saluran. Saat Anda memanggil metode ini, SDK menghentikan semua interaksi audio dan video serta meninggalkan saluran saat ini.
public abstract int leaveChannel();Metode ini merupakan operasi asinkron. Pemanggilan metode ini yang berhasil tidak berarti Anda telah meninggalkan saluran. Anda baru benar-benar meninggalkan saluran setelah callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#8c189be470bsp" id="7e49937108skj">onLeaveChannelResult</a>diterima.Setelah meninggalkan saluran, hapus engine dan atur nilainya menjadi null.
mAliRtcEngine.leaveChannel(); mAliRtcEngine.destroy(); mAliRtcEngine = null;
Kapan harus memanggil
Anda dapat memanggil metode ini saat perlu meninggalkan saluran yang telah Anda masuki.
Jika Anda telah bergabung ke suatu saluran dan ingin bergabung ke saluran lain, Anda harus memanggil metode ini terlebih dahulu untuk meninggalkan saluran saat ini.
Callback terkait
Pengguna 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 mengembalikan hasil proses meninggalkan saluran.Pengguna jarak jauh: Setelah metode ini berhasil dipanggil, callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#75c700a2376c1" id="69bf5ff199oda">onRemoteUserOffLineNotify</a>dipicu untuk pengguna jarak jauh.
Pengembalian
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal.
isInCall
Memeriksa apakah Anda berada dalam saluran.
public abstract boolean isInCall();Mengembalikan
true: Anda berada dalam saluran. false: Anda tidak berada dalam saluran.
setClientRole
Menetapkan peran pengguna.
public abstract int setClientRole(AliRTCSdkClientRole clientRole);Metode ini menetapkan peran pengguna menjadi Streamer atau viewer.
Sebelum Anda bergabung ke saluran dalam mode interaktif:
Streamer: Secara default, kit pengembangan perangkat lunak (SDK) secara otomatis memublikasikan aliran audio dan video lokal serta menerima aliran dari Streamer lainnya.
Viewer: SDK tidak memublikasikan aliran audio dan video lokal. SDK hanya menerima aliran dari Streamer lainnya.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Jika Anda memanggil metode ini sebelum bergabung, Anda dapat menetapkan peran pengguna awal. Jika Anda memanggil metode ini setelah bergabung, Anda dapat mengganti peran pengguna.
Batasan
Metode ini hanya berlaku dalam mode aliran interaktif. Untuk mengaktifkan mode aliran interaktif, Anda dapat memanggil metode setChannelProfile dan menyetel profil saluran ke AliRTCSdkInteractiveLive.
Dalam mode aliran interaktif, Anda harus secara eksplisit memanggil metode ini untuk menetapkan peran pengguna sebelum bergabung ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
clientRole | Peran pengguna. Parameter ini hanya berlaku dalam mode interaktif. |
getCurrentClientRole
Mengambil peran dari pengguna saat ini.
public abstract AliRTCSdkClientRole getCurrentClientRole();Pengembalian
Peran dari pengguna saat ini.
refreshAuthInfo[1/2]
Memperbarui informasi autentikasi.
public abstract int refreshAuthInfo(AliRtcAuthInfo authInfo);Metode ini memperbarui informasi autentikasi. Token akan kedaluwarsa setelah periode tertentu. Setelah token kedaluwarsa, SDK tidak dapat lagi terhubung ke server.
Baik metode ini maupun refreshAuthInfo[2/2] memperbarui informasi autentikasi. Metode ini memperbarui token yang digunakan untuk bergabung ke saluran dengan beberapa parameter. Metode refreshAuthInfo[2/2] memperbarui token yang digunakan untuk bergabung ke saluran dengan satu parameter. Untuk informasi lebih lanjut mengenai pembuatan token, lihat Autentikasi berbasis token.
Kapan harus memanggil
Dalam skenario berikut:
Saat 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 menunjukkan bahwa informasi autentikasi akan segera kedaluwarsa, kami menyarankan agar Anda membuat ulang token di server Anda dan kemudian memanggil metode ini untuk meneruskan token baru tersebut.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>akan dipicu untuk menunjukkan bahwa autentikasi telah kedaluwarsa. Dalam kasus ini, Anda harus membuat ulang token dan kemudian memanggiljoinChanneluntuk bergabung kembali ke saluran.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
authInfo | Informasi autentikasi. |
Nilai kembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
refreshAuthInfo[2/2]
Memperbarui informasi autentikasi.
public abstract int refreshAuthInfo(String token);Metode ini memperbarui token. Token kedaluwarsa setelah periode tertentu. Ketika token kedaluwarsa, kit pengembangan perangkat lunak (SDK) tidak dapat lagi terhubung ke server.
Baik metode ini maupun refreshAuthInfo[1/2] memperbarui informasi autentikasi. Anda dapat menggunakan metode ini untuk memperbarui token guna bergabung ke saluran dengan satu parameter. Anda dapat menggunakan refreshAuthInfo[1/2] untuk memperbarui token guna bergabung ke saluran dengan beberapa parameter. Untuk informasi lebih lanjut mengenai pembuatan token, lihat Autentikasi berbasis token.
Kapan harus memanggil
Dalam situasi berikut, Anda harus membuat ulang token di server Anda lalu memanggil metode ini dengan token baru:
Saat Anda menerima callback
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e9acb46a25uym" id="d708af68eevs9">onAuthInfoWillExpire</a>, yang menunjukkan 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 Anda bahwa autentikasi telah kedaluwarsa. Anda kemudian harus memanggiljoinChanneluntuk bergabung kembali ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
token | String | Informasi autentikasi untuk bergabung dengan saluran menggunakan satu parameter. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
publishLocalAudioStream
Anda dapat menghentikan atau melanjutkan publikasi aliran video lokal.
public abstract int publishLocalAudioStream(boolean enable);Metode ini mengontrol apakah akan menerbitkan aliran audio lokal. Secara default, kit pengembangan perangkat lunak (SDK) menerbitkan aliran audio. Untuk mencegah aliran audio diterbitkan secara default, Anda dapat memanggil publishLocalAudioStream(false) sebelum bergabung ke saluran.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Jika Anda memanggilnya sebelum bergabung, Anda dapat mengubah konfigurasi default. Konfigurasi baru akan berlaku saat Anda bergabung ke saluran.
Callback terkait
Saat status pengambilan 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 melaporkan status terbaru pengambilan aliran audio. 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 melaporkan perubahan pada aliran audio dan video pengguna jarak jauh.
Parameter
Parameter | Tipe | Deskripsi |
enable | boolean | Menentukan apakah akan menerbitkan aliran audio. Nilai valid:
|
Mengembalikan
0 menunjukkan bahwa metode berhasil dipanggil. Nilai selain 0 menunjukkan bahwa pemanggilan gagal.
isLocalAudioStreamPublished
Memeriksa apakah aliran audio lokal telah dipublikasikan.
public abstract boolean isLocalAudioStreamPublished();Pengembalian
true: Aliran audio telah dipublikasikan. false: Aliran audio belum dipublikasikan.
setDefaultSubscribeAllRemoteAudioStreams
Mengatur apakah akan berlangganan ke semua aliran audio jarak jauh secara default.
public abstract int setDefaultSubscribeAllRemoteAudioStreams(boolean sub);Metode ini mengatur perilaku default untuk berlangganan aliran audio jarak jauh. Pengaturan ini memengaruhi langganan aliran audio bagi pengguna yang bergabung ke saluran setelahnya. Atur parameter ini ke true kecuali Anda memiliki persyaratan khusus.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Sebelum Anda bergabung ke saluran:
Secara default, kit pengembangan perangkat lunak (SDK) berlangganan ke semua aliran audio jarak jauh ketika pengguna bergabung ke saluran. Untuk mengubah perilaku ini, Anda dapat memanggil metode ini sebelum bergabung ke saluran.
Setelah Anda bergabung ke saluran:
Untuk menghentikan langganan default, Anda dapat memanggil
setDefaultSubscribeAllRemoteAudioStreams(false). SDK tidak akan berlangganan ke aliran audio pengguna yang bergabung ke saluran setelah itu.Setelah Anda menghentikan langganan default, Anda dapat memanggil metode subscribeRemoteAudioStream untuk berlangganan aliran audio pengguna tertentu. Untuk berlangganan aliran beberapa pengguna, Anda harus memanggil metode ini untuk masing-masing pengguna.
Setelah Anda menghentikan langganan default, memanggil
setDefaultSubscribeAllRemoteAudioStreams(true)hanya memengaruhi pengguna yang bergabung ke saluran setelahnya. SDK tidak akan berlangganan ke aliran audio dari pengguna jarak jauh yang telah bergabung saat langganan default dinonaktifkan.
Parameter
Parameter | Tipe | Deskripsi |
sub | boolean | Menentukan apakah akan berlangganan semua aliran audio remote secara default. Nilai yang valid:
|
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lain menunjukkan bahwa kode kesalahan dikembalikan.
subscribeRemoteAudioStream
Berlangganan atau berhenti berlangganan aliran audio dari pengguna jarak jauh tertentu.
public abstract int subscribeRemoteAudioStream(String uid, boolean sub);Anda dapat menggunakan metode ini untuk berlangganan atau berhenti berlangganan aliran audio dari pengguna jarak jauh tertentu. Untuk sebagian besar skenario, Anda harus mengatur parameter sub ke true.
SDK secara default berlangganan aliran audio semua pengguna jarak jauh saat Anda bergabung ke saluran. Untuk mengubah 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 saluran untuk menonaktifkan konfigurasi default ini.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
sub | boolean | Menentukan apakah akan berlangganan aliran audio pengguna jarak jauh. Nilai yang valid:
|
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan gagal.
subscribeAllRemoteAudioStreams
Berlangganan atau berhenti berlangganan dari semua aliran audio remote.
public abstract int subscribeAllRemoteAudioStreams(boolean sub);Metode ini merupakan sakelar utama untuk berlangganan aliran audio jarak jauh. Kami menyarankan Anda mengatur parameter ini ke true. Jika Anda mengatur parameter ini ke false:
SDK berhenti berlangganan dari semua aliran audio jarak jauh di saluran saat ini.
Pengguna baru tidak akan lagi 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 berlangganan kembali, Anda dapat memanggil metode ini lagi dan mengatur parameter ke true.
Secara default, SDK berlangganan aliran audio semua pengguna jarak jauh saat Anda bergabung ke saluran. Untuk mengubah 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 saluran untuk menonaktifkan konfigurasi default ini.
Parameter
Parameter | Tipe | Deskripsi |
sub | boolean | Menentukan apakah akan berlangganan semua aliran audio jarak jauh. Nilai yang valid adalah:
|
Nilai kembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai selain 0 menunjukkan bahwa pemanggilan gagal.
publishLocalVideoStream
Mengatur apakah akan memublikasikan aliran kamera.
public abstract int publishLocalVideoStream(boolean enable);Metode ini mengontrol apakah akan memublikasikan aliran video yang ditangkap secara lokal.
Secara default, kit pengembangan perangkat lunak (SDK) memublikasikan aliran video. Untuk menghentikan publikasi aliran video, Anda dapat memanggil `publishLocalVideoStream(false)` sebelum bergabung ke saluran.
Kapan harus dipanggil
Anda dapat memanggil metode ini sebelum atau sesudah Anda bergabung dengan saluran.
Jika Anda memanggil metode ini sebelum bergabung ke saluran, Anda dapat mengubah konfigurasi default. Konfigurasi baru akan berlaku saat Anda bergabung ke saluran.
Callback terkait
Ketika status pengambilan 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="#afe6d3c4b1rvg" id="8b70bc353aj68">onVideoPublishStateChanged</a> untuk memberikan status terbaru pengambilan aliran audio, sedangkan Klien 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> guna memberi tahu perubahan pada aliran audio dan video pengguna jarak jauh.
Parameter
Parameter | Tipe | Deskripsi |
enable | boolean | Menentukan apakah akan memublikasikan aliran kamera. Nilai yang valid:
|
Mengembalikan
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
isLocalVideoStreamPublished
Memeriksa apakah aliran video lokal telah dipublikasikan.
public abstract boolean isLocalVideoStreamPublished();Mengembalikan
Mengembalikan true jika aliran kamera telah dipublikasikan, atau false jika tidak.
setDefaultSubscribeAllRemoteVideoStreams
Mengatur apakah akan berlangganan ke semua aliran video jarak jauh secara default.
public abstract int setDefaultSubscribeAllRemoteVideoStreams(boolean sub);Metode ini mengatur perilaku default untuk berlangganan aliran video. Secara default, kit pengembangan perangkat lunak (SDK) berlangganan ke semua aliran video jarak jauh.
Kapan harus memanggil
Anda dapat memanggil metode ini baik sebelum maupun setelah bergabung ke saluran. Jika Anda bergabung ke saluran lalu memanggil setDefaultSubscribeAllRemoteVideoStreams(false), Anda tidak akan menerima aliran video dari pengguna yang bergabung ke saluran setelah pemanggilan tersebut.
Setelah berhenti menerima aliran video, Anda dapat memanggil subscribeRemoteVideoStream dan menentukan ID pengguna jarak jauh untuk melanjutkan penerimaan aliran mereka. Jika ingin melanjutkan penerimaan aliran video dari beberapa pengguna, Anda harus memanggil subscribeRemoteVideoStream beberapa kali. Metode `setDefaultSubscribeAllRemoteVideoStreams(true)` hanya melanjutkan penerimaan aliran video dari pengguna yang kemudian bergabung ke saluran.
API ini digunakan untuk mengatur apakah akan berlangganan aliran video dari pengguna jarak jauh secara default.
Secara default, SDK berlangganan ke aliran audio dan video pengguna jarak jauh saat Anda bergabung ke saluran. Untuk mengubah perilaku ini, Anda dapat memanggil metode ini sebelum bergabung ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
sub | boolean | Menentukan apakah akan berlangganan aliran video remote secara default. Nilai valid:
|
Nilai Kembali
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
subscribeRemoteVideoStream
Berlangganan atau berhenti berlangganan aliran video jarak jauh tertentu.
public abstract int subscribeRemoteVideoStream(String uid, AliRtcVideoTrack track, boolean sub);Anda dapat menggunakan metode ini untuk berlangganan atau berhenti berlangganan aliran video dari pengguna tertentu.
Secara default, SDK berlangganan aliran video semua pengguna jarak jauh saat Anda bergabung ke saluran. 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 saluran untuk menonaktifkan konfigurasi default ini.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau sesudah Anda bergabung dengan saluran.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID Pengguna |
track | Jenis aliran video. | |
sub | boolean | Menentukan apakah akan berlangganan aliran video pengguna tertentu.
|
Mengembalikan
0: Metode berhasil dijalankan.
Nilai bukan nol: Metode gagal dijalankan.
subscribeAllRemoteVideoStreams
Menghentikan atau melanjutkan penerimaan semua aliran video remote.
public abstract int subscribeAllRemoteVideoStreams(boolean sub);Metode ini merupakan sakelar utama untuk Berlangganan aliran video jarak jauh. Jika Anda mengatur parameter ke false, hal berikut terjadi:
SDK berhenti Berlangganan semua aliran video jarak jauh di saluran saat ini.
Pengguna baru yang bergabung ke saluran nanti juga tidak akan dilanggani, meskipun Anda telah memanggil
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#c90127d90d22o" id="8661e30c89dum">setDefaultSubscribeAllRemoteVideoStreams</a>(true)untuk Berlangganan secara default.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 kembali Berlangganan, Anda dapat memanggil metode ini lagi dan mengatur parameter ke true.
Secara default, SDK Berlangganan semua aliran video jarak jauh ketika pengguna bergabung ke saluran. Untuk mengubah perilaku ini, Anda dapat memanggil setDefaultSubscribeAllRemoteVideoStreams(false) sebelum bergabung ke saluran.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
sub | boolean | Menentukan apakah akan menghentikan atau melanjutkan penerimaan semua aliran video remote. Nilai valid:
|
Nilai kembalian
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
subscribeRemoteMediaStream[1/2]
Menghentikan atau melanjutkan aliran media pengguna jarak jauh.
public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, boolean subVideo, boolean subAudio);Metode ini berlangganan aliran audio dan video jarak jauh.
Parameter AliRtcVideoTrackNo dari kelas AliRtcVideoTrack tidak valid dalam metode ini. Mengatur parameter ini tidak memiliki efek apa pun.
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 aliran audio dan video jarak jauh, serta parameter videoTrack untuk mengontrol aliran video mana yang ditarik.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
videoTrack | Jenis aliran video. | |
subVideo | boolean | Menentukan apakah akan menghentikan atau melanjutkan penarikan aliran video dari pengguna jarak jauh.
|
subAudio | boolean | Menghentikan atau melanjutkan penarikan aliran audio dari pengguna jarak jauh tertentu. Nilainya dapat berupa:
|
Mengembalikan
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
subscribeRemoteMediaStream[2/2]
Menghentikan atau melanjutkan langganan untuk aliran audio dan video pengguna jarak jauh.
public abstract int subscribeRemoteMediaStream(String uid, AliRtcVideoTrack videoTrack, AliRtcAudioTrack audioTrack);Metode ini menggabungkan langganan untuk aliran audio dan video jarak jauh.
Metode terkait
Dibandingkan dengan subscribeRemoteMediaStream[1/2], antarmuka ini menggunakan parameter videoTrack dan audioTrack untuk menginformasikan SDK tentang status langganan yang diinginkan dalam satu panggilan. Sebagai contoh:
Untuk Berlangganan aliran Kamera dan mikrofon, atur `videoTrack` ke
AliRtcVideoTrackCameradan `audioTrack` keAliRtcAudioTrackMic.Jika Anda ingin berhenti Berlangganan aliran Kamera tetapi tetap mempertahankan mikrofon, atur videoTrack dan audioTrack masing-masing ke
AliRtcVideoTrackNodanAliRtcAudioTrackMicsaat memanggil metode tersebut lagi.Jika Anda ingin membatalkan keduanya, atur videoTrack dan audioTrack masing-masing ke
AliRtcVideoTrackNodanAliRtcAudioTrackNopada pemanggilan berikutnya.Untuk berlangganan baik aliran Kamera maupun aliran berbagi layar, atur videoTrack ke
AliRtcVideoTrackBoth. Logika yang sama berlaku untuk aliran audio.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna. Ini adalah pengenal unik yang ditetapkan oleh server aplikasi Anda. |
videoTrack | Jenis aliran video. | |
audioTrack | Jenis aliran audio. |
Nilai kembali
0: Panggilan metode berhasil.
<0: Gagal menerapkan pengaturan.
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 dari saluran remote. |
uid | String | ID dari pengguna remote. |
track | Aliran video untuk berlangganan. | |
sub_audio | boolean | Menentukan apakah akan menghentikan atau melanjutkan menarik aliran audio dari pengguna jarak jauh. Nilai yang valid:
|
sub | boolean | Menentukan apakah akan menghentikan atau melanjutkan langganan lintas saluran ke aliran video pengguna tersebut. |
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Jika tidak, kode kesalahan dikembalikan.
subscribeRemoteDestChannelAllStream
Berlangganan atau berhenti berlangganan dari semua aliran pengguna di saluran jarak jauh.
public abstract int subscribeRemoteDestChannelAllStream(String channelId, AliRtcVideoTrack track, boolean sub_audio, boolean sub);Parameter
Parameter | Tipe | Deskripsi |
channelId | String | ID saluran remote. |
videoTrack | Jenis aliran video untuk berlangganan. | |
sub_audio | boolean | Menentukan apakah akan berlangganan aliran audio pengguna jarak jauh.
|
sub | boolean | Menentukan apakah akan berlangganan atau berhenti berlangganan dari aliran.
|
Pengembalian
0: Metode berhasil dipanggil.
Nilai bukan nol: Pemanggilan metode gagal.
setRemoteAudioVolume
Menyesuaikan volume pemutaran aliran audio jarak jauh.
public abstract int setRemoteAudioVolume(String uid, int volume);Metode ini menyesuaikan volume pemutaran aliran audio pengguna jarak jauh pada perangkat lokal.
Pengaturan ini hanya memengaruhi pemutaran audio pada perangkat lokal.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna. Ini merupakan pengenal unik untuk pengguna dan biasanya ditetapkan oleh server aplikasi. |
volume | int | Volume pemutaran. Nilainya berkisar antara 0 hingga 100.
|
Returns
0: Pemanggilan metode berhasil.
Nilai bukan nol: Pemanggilan metode gagal, misalnya karena nilai volume tidak valid.
muteLocalMic
Menghentikan atau melanjutkan pengiriman aliran audio lokal.
public abstract int muteLocalMic(boolean mute, AliRtcMuteLocalAudioMode mode);Saat dimatikan suaranya (muted), aliran audio mengirimkan frame diam, tetapi modul perekaman dan pengkodean audio tetap berjalan.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Callback terkait
Setelah pemanggilan berhasil, pengguna jarak jauh memicu callback <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 dimatikan suaranya.
Parameter
Parameter | Tipe | Deskripsi |
mute | boolean | Menentukan apakah akan mematikan suara aliran audio lokal. Nilainya adalah:
|
mode | Mode mute. Default-nya adalah mode mute mikrofon. |
Nilai kembalian
Mengembalikan 0 jika berhasil, atau nilai bukan nol jika gagal. Mematikan suara hanya mengirimkan frame diam. Modul perekaman dan pengkodean audio tetap berjalan.
muteRemoteAudioPlaying
Menghentikan atau melanjutkan pemutaran aliran audio jarak jauh.
public abstract int muteRemoteAudioPlaying(String uid, boolean mute);API ini hanya menghentikan atau melanjutkan pemutaran audio dari pengguna jarak jauh tertentu. Operasi ini tidak memengaruhi penarikan aliran atau decoding audio jarak jauh. Untuk berhenti berlangganan aliran audio pengguna, Anda dapat memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#e09342eeb0z4k" id="66a2ef0919jjg">subscribeRemoteAudioStream</a>.
Kapan harus dipanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna. |
mute | boolean | Menentukan apakah akan menghentikan atau melanjutkan pemutaran audio jarak jauh. Nilai yang valid:
|
Mengembalikan
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
muteAllRemoteAudioPlaying
Menghentikan atau melanjutkan pemutaran semua audio remote.
public abstract int muteAllRemoteAudioPlaying(boolean mute);API ini digunakan untuk menghentikan atau melanjutkan pemutaran semua audio jarak jauh.
Metode ini hanya menghentikan pemutaran audio. Metode ini tidak memengaruhi penarikan aliran atau decoding.
Kapan harus memanggil metode ini
Anda dapat memanggil metode ini sebelum atau setelah bergabung dengan saluran.
Parameter
Parameter | Tipe | Deskripsi |
mute | boolean | Menentukan apakah akan menghentikan atau melanjutkan pemutaran semua audio remote. Nilai yang valid:
|
Nilai kembalian
Mengembalikan 0 jika pemanggilan metode berhasil, atau nilai selain 0 jika pemanggilan gagal.
startAudioCapture[1/2]
Memulai penangkapan audio.
public abstract int startAudioCapture();Metode ini memulai pengambilan audio. Anda dapat memanggil metode ini sebelum bergabung ke saluran untuk memulai pengambilan audio lebih awal. Jika tidak, SDK secara otomatis mengontrol perangkat pengambilan audio. Setelah Anda menghentikan pengambilan audio dengan memanggil stopAudioCapture, Anda dapat memanggil metode ini lagi untuk memulainya kembali.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Metode terkait
Antarmuka <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 pengambilan audio tetap diaktifkan setelah Anda meninggalkan saluran.
Callback terkait
Setelah Anda memanggil metode ini untuk mengubah status pengambilan audio lokal, callback onLocalAudioStateChanged melaporkan perubahan status tersebut.
Mengembalikan nilai
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
startAudioCapture[2/2]
Memulai penangkapan audio.
public abstract int startAudioCapture(boolean keepAlive);Muting mematikan pengambilan mikrofon.
Anda dapat menggunakan metode ini untuk memulai pengambilan audio. Anda dapat memanggil metode ini sebelum bergabung ke saluran untuk memulai pengambilan audio lebih awal. Jika Anda tidak memanggil metode ini, kit pengembangan perangkat lunak (SDK) secara otomatis mengontrol perangkat pengambilan audio.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Metode terkait
Berbeda dengan startAudioCapture[1/2], metode ini memungkinkan Anda menggunakan parameter keepAlive untuk menentukan apakah perangkat pengambilan tetap menyala setelah Anda meninggalkan saluran.
Callback terkait
Setelah Anda memanggil metode ini untuk mengubah status pengambilan audio lokal, callback onLocalAudioStateChanged dipicu untuk melaporkan perubahan status tersebut.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
keepAlive | boolean | Status perangkat pengambilan setelah Anda meninggalkan rapat. Nilai yang valid:
|
Pengembalian
Mengembalikan 0 jika pemanggilan metode berhasil. Mengembalikan nilai bukan nol jika pemanggilan gagal.
stopAudioCapture
Menghentikan penangkapan audio.
public abstract int stopAudioCapture();SDK mengaktifkan pengambilan audio secara default. Memulai pratinjau atau bergabung ke saluran akan secara otomatis memulai pengambilan audio. Untuk menghentikan perangkat audio dari pengambilan audio, Anda dapat memanggil metode ini.
Callback terkait
Setelah Anda memanggil metode ini, callback onLocalAudioStateChanged melaporkan perubahan status pengambilan audio lokal.
Mengembalikan
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
setDefaultAudioRoutetoSpeakerphone
Mengatur output audio default ke speakerphone.
public abstract int setDefaultAudioRoutetoSpeakerphone(boolean defaultToSpeakerphone);Anda dapat memanggil metode ini sebelum bergabung ke saluran untuk mengatur perangkat routing audio default. Anda dapat mengatur output audio default ke earpiece atau speakerphone. Secara default, SDK menggunakan speakerphone. Untuk mengubah pengaturan default ini, Anda dapat memanggil metode ini sebelum bergabung ke saluran.
SDK memiliki prioritas yang telah ditentukan untuk routing audio. SDK secara otomatis mengalihkan rute audio berdasarkan periferal yang terhubung. Prioritasnya adalah sebagai berikut: Headset berkabel > Headset Bluetooth > Pengaturan pengguna > Pengaturan default. Jika tidak ada periferal yang terhubung dan Anda tidak memanggil metode enableSpeakerphone, maka pengaturan default akan digunakan.
Untuk informasi selengkapnya tentang routing audio, lihat Pengaturan routing audio.
Perangkat seluler biasanya memiliki dua perangkat output audio: earpiece dan speakerphone.
Earpiece: Audio-nya pelan. Anda harus memegang perangkat dekat telinga agar dapat mendengar dengan jelas. Opsi ini memberikan privasi yang lebih baik dan cocok untuk panggilan telepon.
Speakerphone: Audio-nya keras. Anda dapat mendengar dengan jelas tanpa perlu menempelkan perangkat ke telinga. Opsi ini mengaktifkan fitur hands-free.
Metode terkait
Metode ini mengubah pengaturan routing audio default. Metode enableSpeakerphone mengatur perangkat routing audio saat ini.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
defaultToSpeakerphone | boolean | Menentukan apakah speakerphone digunakan secara default.
|
Mengembalikan
0: Metode berhasil dipanggil.
<0: Pemanggilan metode gagal.
enableSpeakerphone
Mengatur output audio ke earpiece atau speaker.
public abstract int enableSpeakerphone(boolean enable);Metode ini mengatur perangkat pemutaran audio ke earpiece atau speaker setelah Anda bergabung ke saluran. Jika Anda tidak memanggil metode ini, perangkat yang ditentukan oleh routing audio default akan digunakan untuk pemutaran.
SDK memiliki prioritas routing audio yang telah ditentukan sebelumnya dan secara otomatis mengalihkan rute berdasarkan status koneksi perangkat periferal. Prioritasnya adalah sebagai berikut: Wired headset>Bluetooth headset>User settings>Default settings. Oleh karena itu, pemanggilan metode ini tidak berpengaruh ketika perangkat periferal terhubung. Untuk informasi selengkapnya, lihat Audio routing settings.
Kapan harus memanggil
Anda dapat memanggil metode ini baik sebelum maupun setelah bergabung ke saluran.
Metode terkait
Metode <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#d4dab00b21ebx" id="944fb5797e773">setDefaultAudioRoutetoSpeakerphone</a> memodifikasi pengaturan rute audio default dan menetapkan perangkat routing saat ini.
Parameter
Parameter | Tipe | Deskripsi |
enable | boolean | Menentukan mode output audio. Nilai yang valid:
|
Mengembalikan
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
isSpeakerOn
Memeriksa apakah output audio saat ini adalah speaker atau earpiece.
public abstract boolean isSpeakerOn();Mengembalikan
true jika output audio adalah speaker. false jika output audio adalah earpiece.
enableAudioVolumeIndication
Mengaktifkan notifikasi volume audio.
public abstract int enableAudioVolumeIndication(int interval, int smooth, int reportVad);Metode ini memungkinkan SDK melaporkan secara berkala volume audio pengguna lokal yang melakukan publikasi dan pengguna jarak jauh dengan volume instan tertinggi. Untuk menerima laporan tersebut, Anda harus mengimplementasikan kelas AliRtcAudioVolumeObserver dan memanggil metode registerAudioVolumeObserver untuk mendaftarkan objek pendengar.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Callback terkait
Setelah Anda memanggil metode ini, SDK memicu callback berikut pada interval yang ditentukan jika ada pengguna yang mempublikasikan aliran di saluran:
Volume audio setiap pembicara dilaporkan melalui callback AliRtcAudioVolumeObserver#onAudioVolume. Frekuensi callback ini ditentukan oleh parameter interval.
UID pembicara aktif dilaporkan melalui callback AliRtcAudioVolumeObserver#onActiveSpeaker ketika pembicara aktif terdeteksi.
Parameter
Parameter | Tipe | Deskripsi |
interval | int | Interval waktu.
|
smooth | int | Koefisien penghalusan. Nilai yang lebih besar memberikan penghalusan lebih banyak. Nilai yang lebih kecil memberikan penghalusan lebih sedikit dan performa real-time yang lebih baik.
|
reportVad | int | Menentukan apakah akan mengaktifkan deteksi aktivitas suara (VAD) lokal.
|
Nilai kembali
Mengembalikan 0 jika pemanggilan metode berhasil. Mengembalikan nilai selain 0 jika pemanggilan gagal.
enableEarBack
Mengaktifkan pemantauan in-ear.
public abstract int enableEarBack(boolean enable);Metode ini mengaktifkan atau menonaktifkan pemantauan in-ear. Untuk pengalaman terbaik, aktifkan fitur ini saat Anda menggunakan headphone, baik yang berkabel maupun Bluetooth.
Kapan harus memanggil
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:
|
Returns
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa panggilan gagal.
setEarBackVolume
Menetapkan volume pemantauan in-ear.
public abstract int setEarBackVolume(int volume) ;Pengaturan ini hanya berlaku setelah Anda mengaktifkan fitur pemantauan in-ear dengan memanggil enableEarBack.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume. Nilai berkisar dari 0 hingga 100. Nilai default adalah 100.
|
Nilai kembalian
0: Metode berhasil dipanggil.
<0: Pemanggilan metode gagal.
startAudioPlayer
Memulai perangkat pemutaran audio.
public abstract int startAudioPlayer();Metode ini memungkinkan Anda memulai perangkat pemutaran audio terlebih dahulu. Jika Anda tidak memanggil metode ini, SDK akan secara otomatis memulai perangkat pemutaran audio setelah berlangganan ke aliran audio.
Pengembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Nilai tersebut adalah kode kesalahan.
stopAudioPlayer
Menghentikan perangkat pemutaran audio.
public abstract int stopAudioPlayer();Metode ini merupakan pasangan dari startAudioPlayer.
Deskripsi respons
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.
setPlayoutVolume
Mengatur volume pemutaran lokal.
public abstract int setPlayoutVolume(int volume);Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume pemutaran. Nilai berkisar antara 0 hingga 400.
|
Returns
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal.
setRecordingVolume
Mengatur volume rekaman.
public abstract int setRecordingVolume(int volume);Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume rekaman. Nilai berkisar antara 0 hingga 400.
|
Mengembalikan
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal.
playAudioFileTest
Memainkan file audio.
public abstract int playAudioFileTest(String filePath) ;Metode ini memutar file audio untuk menguji pemutaran audio sebelum Anda bergabung ke saluran.
Kapan harus memanggil
Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran.
Batasan
Setiap pemanggilan metode ini akan menimpa pemanggilan sebelumnya. Pemanggilan baru akan menghentikan file audio apa pun yang sedang diputar.
Parameter
Parameter | Tipe | Deskripsi |
filePath | filePath | Jalur file audio. |
Mengembalikan
0: Pemanggilan metode berhasil.
Nilai bukan nol: Pemanggilan metode gagal.
stopAudioFileTest
Menghentikan pemutaran file audio.
public abstract int stopAudioFileTest();Metode ini merupakan pasangan dari playAudioFileTest.
Batasan
Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran.
Pengembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal.
startAudioCaptureTest
Memulai pengujian perangkat penangkapan audio sebelum panggilan.
public abstract int startAudioCaptureTest();Anda dapat menggunakan metode ini sebelum panggilan untuk memeriksa apakah perangkat tangkapan audio lokal berfungsi dengan benar. Setelah Anda memanggil metode ini, SDK melaporkan volume perangkat tangkapan melalui callback AliRtcAudioVolumeObserver::OnTestAudioVolume.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum bergabung ke saluran. Setelah pengujian selesai, Anda harus memanggil stopAudioCaptureTest untuk menghentikan pengujian perangkat. Hal ini mencegah perangkat tetap terpakai.
Mengembalikan
0: Panggilan berhasil.
Nilai bukan nol: Pemanggilan gagal. Kode kesalahan dikembalikan.
stopAudioCaptureTest
Menghentikan pendeteksian perangkat perekaman audio.
public abstract int stopAudioCaptureTest();Setelah Anda memanggil startAudioCaptureTest, Anda harus memanggil metode ini untuk menghentikan pengujian.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum bergabung ke saluran.
Nilai kembalian
0: Pemanggilan berhasil.
Nilai bukan nol: Pemanggilan gagal. Kode kesalahan dikembalikan.
setAudioEffectVoiceChangerMode
Mengatur mode efek pengubah suara.
public abstract int setAudioEffectVoiceChangerMode(AliRtcAudioEffectVoiceChangerMode mode);Parameter
Parameter | Tipe | Deskripsi |
mode | Mode efek pengubah suara. Nilai default adalah AliRtcSdk_AudioEffect_Voice_Changer_OFF (Off). |
Mengembalikan
Nilai kembali 0 menunjukkan panggilan berhasil. Nilai lainnya menunjukkan panggilan gagal.
setAudioEffectPitchValue
Mengatur pitch audio.
public abstract int setAudioEffectPitchValue(double value);Parameter
Parameter | Tipe | Deskripsi |
value | double | Rentang nilai adalah [0.5, 2.0]. Nilai default adalah 1.0, yang menunjukkan bahwa pitch tidak berubah. |
Pengembalian
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
setAudioEffectReverbMode
Menetapkan mode efek suara gema.
public abstract int setAudioEffectReverbMode(AliRtcAudioEffectReverbMode mode);Parameter
Parameter | Tipe | Deskripsi |
mode | Mode efek suara gema. Nilai default adalah AliRtcAudioEffectReverb_Off (Mati). |
Mengembalikan
Mengembalikan 0 jika pemanggilan metode berhasil. Mengembalikan nilai selain 0 jika pemanggilan metode gagal.
setAudioEffectReverbParamType
Mengatur jenis dan parameter efek suara reverb.
public abstract int setAudioEffectReverbParamType(AliRtcAudioEffectReverbParamType type, float value);Parameter
Parameter | Tipe | Deskripsi |
type | Parameter gema efek suara. | |
value | float | Nilai parameter. |
Pengembalian
0 menunjukkan panggilan berhasil. Nilai lainnya menunjukkan panggilan gagal.
addExternalAudioStream
Menambahkan aliran audio eksternal.
public abstract int addExternalAudioStream(AliRtcExternalAudioStreamConfig config);Metode ini menambahkan aliran audio eksternal. 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="20c33a9acb0ui">addExternalAudioStream</a>untuk menambahkan aliran audio eksternal dan mendapatkan ID aliran audio eksternal tersebut.Panggil
<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 yang telah dibuat.Saat panggilan berakhir, panggil
<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 tersebut.
Untuk memublikasikan audio hasil tangkapan kustom dalam saluran, lihat Custom Audio Capture.
Parameter
Parameter | Tipe | Deskripsi |
config | AliRtcExternalAudioStreamConfig | Konfigurasi untuk aliran audio eksternal. |
Nilai kembali
Nilai kembali >0 menunjukkan keberhasilan dan merupakan ID dari aliran audio eksternal tersebut. Nilai lainnya menunjukkan kegagalan.
pushExternalAudioStreamRawData
Mendorong data aliran audio eksternal.
public abstract int pushExternalAudioStreamRawData(int streamId, AliRtcAudioFrame rawData);Anda dapat menggunakan metode ini untuk meneruskan data ke aliran audio tertentu. Langkah-langkahnya adalah sebagai berikut:
Panggil metode
<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 tersebut.Panggil
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#930f22d3dcdco" id="880fe8cd02j10">pushExternalAudioStreamRawData</a>untuk meneruskan data audio ke aliran audio yang telah dibuat.Saat panggilan berakhir, Anda perlu memanggil
<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 tersebut.
Untuk memublikasikan audio hasil tangkapan kustom dalam saluran, lihat Custom audio capture.
Kapan harus memanggil
Anda dapat memanggil metode ini setelah bergabung ke dalam saluran.
Parameter
Parameter | Tipe | Deskripsi |
streamId | int | ID aliran audio eksternal. |
rawData | AliRtcAudioFrame | Data audio. |
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lain menunjukkan bahwa pemanggilan gagal.
setExternalAudioStreamPublishVolume
Mengatur volume publikasi aliran audio eksternal.
public abstract int setExternalAudioStreamPublishVolume(int streamId, int publishVolume);Parameter
Parameter | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
publishVolume | int | Volume publikasi. Nilainya berkisar antara 0 hingga 100. |
Pengembalian
Nilai kembali 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
getExternalAudioStreamPublishVolume
Mendapatkan volume publikasi dari aliran audio eksternal.
public abstract int getExternalAudioStreamPublishVolume(int streamId);Parameter
Parameter | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
Return value
Bilangan bulat dari 0 hingga 100 yang menunjukkan volume publikasi. Nilai < 0 menunjukkan bahwa operasi gagal.
setExternalAudioStreamPlayoutVolume
Menetapkan volume pemutaran aliran audio eksternal.
public abstract int setExternalAudioStreamPlayoutVolume(int streamId, int playoutVolume);Parameter
Parameter | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
playoutVolume | int | Volume pemutaran. Nilai berkisar antara 0 hingga 100. |
Nilai kembali
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
getExternalAudioStreamPlayoutVolume
Mendapatkan volume pemutaran aliran audio eksternal.
public abstract int getExternalAudioStreamPlayoutVolume(int streamId);Parameter
Parameter | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
Return value
Volume pemutaran, yang berkisar antara 0 hingga 100. Nilai < 0 menunjukkan bahwa panggilan gagal.
removeExternalAudioStream
Menghapus aliran audio eksternal.
public abstract int removeExternalAudioStream(int streamId);Metode ini menghapus aliran audio eksternal yang sesuai dengan streamId yang ditentukan. Metode ini merupakan pasangan dari metode addExternalAudioStream.
Penggunaan
Untuk menggunakan fitur input audio kustom, Anda dapat memanggil metode addExternalAudioStream untuk menambahkan aliran audio dan mendapatkan ID-nya. Kemudian, Anda dapat memanggil metode pushExternalAudioStreamRawData untuk mendorong data audio Anda ke SDK. Saat Anda ingin menghentikan input audio kustom, Anda dapat memanggil metode ini untuk menghapus aliran audio eksternal yang sesuai dan melepaskan sumber daya.
Parameter
Parameter | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. ID ini adalah nilai kembali dari pemanggilan metode addExternalAudioStream yang berhasil. |
Nilai kembali
0: Pemanggilan berhasil.
<0: Pemanggilan gagal. Kode kesalahan dikembalikan.
getAudioFileInfo
Anda dapat memperoleh informasi berkas audio.
public abstract int getAudioFileInfo(String fileName);Anda dapat memanggil API ini untuk mengambil informasi durasi berkas secara asinkron. Ini adalah API asinkron, dan Anda dapat mengambil informasi berkas audio melalui onAudioFileInfo.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
fileName | String | Path dari file audio. |
Kembali ke Pendahuluan
0: Pemanggilan berhasil.
Nilai bukan nol: Kode kesalahan.
startAudioAccompany
Memulai pencampuran musik pengiring.
public abstract int startAudioAccompany(String fileName, AliRtcAudioAccompanyConfig config) ;Metode ini memutar file iringan audio lokal atau daring. Ini merupakan panggilan asinkron. Setelah Anda memanggil metode ini, Anda dapat mendengarkan status pemutaran iringan melalui callback AliRtcEngineNotify#onAudioAccompanyStateChanged.
Kapan harus memanggil
Anda dapat memanggil metode ini setelah bergabung ke dalam saluran.
Batasan
Berbeda dengan efek suara, hanya satu iringan audio yang dapat diputar dalam satu waktu. Pemanggilan berikutnya terhadap metode ini akan menimpa iringan saat ini.
Parameter
Parameter | Tipe | Deskripsi |
fileName | String | Path file musik pengiring. |
config | Konfigurasi untuk pemutaran iringan. Ini mencakup pengaturan seperti apakah hanya memutar iringan secara lokal, apakah menggantikan audio mikrofon, jumlah putaran ulang, posisi awal, dan volume. |
Pengembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.
stopAudioAccompany
Menghentikan pencampuran iringan audio.
public abstract int stopAudioAccompany() ;Metode ini menghentikan pemutaran iringan audio dan dipasangkan dengan startAudioAccompany.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Nilai kembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.
setAudioAccompanyVolume
Mengatur volume iringan audio, yang mencakup volume pemutaran lokal dan volume pengambilan aliran.
public abstract int setAudioAccompanyVolume( int volume) ;Metode ini mengatur volume untuk pemutaran lokal maupun pengambilan aliran. Sebagai perbandingan, setAudioAccompanyPlayoutVolume hanya mengatur volume pemutaran lokal, dan setAudioAccompanyPublishVolume hanya mengatur volume pengambilan aliran.
Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume audio iringan. Nilainya berkisar antara 0 hingga 100. 0: Bisu. 100: Volume asli file. |
Mengembalikan
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Nilai tersebut merupakan kode kesalahan.
setAudioAccompanyPublishVolume
Mengatur volume pengambilan aliran untuk iringan audio.
public abstract int setAudioAccompanyPublishVolume(int volume) ;Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume dari audio iringan. Nilai berkisar antara 0 hingga 100. 0: Bisu. 100: Volume asli file. |
Mengembalikan
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal dan kode kesalahan dikembalikan.
getAudioAccompanyPublishVolume
Mendapatkan volume pengambilan aliran dari iringan audio.
public abstract int getAudioAccompanyPublishVolume() ;Mengembalikan
Volume pengambilan aliran dari musik latar.
Nilai dalam rentang 0 hingga 100 menunjukkan panggilan berhasil.
Nilai lainnya menunjukkan kode kesalahan.
setAudioAccompanyPlayoutVolume
Menetapkan volume pemutaran lokal dari audio iringan.
public abstract int setAudioAccompanyPlayoutVolume(int volume) ;Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume audio iringan. Nilai berkisar antara 0 hingga 100. 0: Bisu. 100: Volume asli file. |
Pengembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal dan kode kesalahan dikembalikan.
getAudioAccompanyPlayoutVolume
Mendapatkan volume pemutaran lokal untuk audio iringan.
public abstract int getAudioAccompanyPlayoutVolume() ;Pengembalian
Volume pemutaran lokal dari audio iringan.
Nilai dari 0 hingga 100 menunjukkan keberhasilan.
Nilai lainnya menunjukkan kode kesalahan.
pauseAudioAccompany
Menghentikan sementara pencampuran iringan audio.
public abstract int pauseAudioAccompany();Mengembalikan
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Nilai tersebut adalah kode kesalahan.
resumeAudioAccompany
Melanjutkan pencampuran audio pendamping.
public abstract int resumeAudioAccompany();Pengembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Nilai tersebut merupakan kode kesalahan.
getAudioAccompanyDuration
Mendapatkan durasi file iringan dalam milidetik.
public abstract int getAudioAccompanyDuration();Metode ini mendapatkan durasi file iringan saat ini.
Mengembalikan
>= 0: Durasi file iringan.
< 0: Kode kesalahan jika panggilan gagal.
getAudioAccompanyCurrentPosition
Mendapatkan progres pemutaran file iringan audio dalam milidetik.
public abstract int getAudioAccompanyCurrentPosition();Metode ini mendapatkan progres pemutaran file iringan audio saat ini dalam milidetik.
Mengembalikan
>=0: Progres pemutaran file iringan audio.
<0: Kode kesalahan yang menunjukkan panggilan gagal.
setAudioAccompanyPosition
Menetapkan posisi pemutaran file iringan audio.
public abstract int setAudioAccompanyPosition(int posMs);Metode ini berguna untuk mengimplementasikan fitur seperti bilah progres yang dapat diseret. Setelah panggilan berhasil, file iringan audio mulai diputar dari posisi yang ditentukan oleh posMs.
Parameter
Parameter | Tipe | Deskripsi |
posMs | int | Posisi pemutaran, dalam milidetik. |
Pengembalian
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal dan kode kesalahan dikembalikan.
preloadAudioEffect
Memuat terlebih dahulu file efek suara.
public abstract int preloadAudioEffect(int soundId, String filePath);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang Anda tetapkan untuk file efek suara. |
filePath | String | Jalur dari file efek suara. |
Pengembalian
0 menunjukkan bahwa metode dipanggil berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
unloadAudioEffect
Membongkar file efek suara yang telah dimuat sebelumnya.
public abstract int unloadAudioEffect(int soundId);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang Anda tetapkan untuk file efek suara tersebut. |
Pengembalian
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal.
playAudioEffect
Memainkan efek suara.
public abstract int playAudioEffect(int soundId, String filePath, int cycles, boolean publish);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang Anda tetapkan untuk file efek suara. |
filePath | String | Jalur file efek suara. |
cycles | int | Jumlah putaran pemutaran. Tetapkan parameter ini ke -1 untuk memutar ulang tanpa henti. |
publish | boolean | Menentukan apakah aliran audio efek suara dipublikasikan ke pengguna jarak jauh. Nilai yang valid:
|
Returns
Mengembalikan 0 jika pemanggilan metode berhasil, atau nilai bukan nol jika pemanggilan gagal.
stopAudioEffect
Menghentikan pemutaran efek suara.
public abstract int stopAudioEffect(int soundId);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang diberikan untuk efek suara. |
Pengembalian
Mengembalikan 0 jika pemanggilan metode berhasil. Mengembalikan nilai bukan nol jika pemanggilan metode gagal.
stopAllAudioEffects
Menghentikan semua efek suara.
public abstract int stopAllAudioEffects();Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai selain 0 menunjukkan bahwa pemanggilan metode gagal.
setAudioEffectPublishVolume
Mengatur volume publikasi untuk efek suara.
public abstract int setAudioEffectPublishVolume(int soundId, int volume);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang Anda tetapkan untuk file efek suara. |
volume | int | Volume pencampuran. Nilai berkisar dari 0 hingga 100. Nilai default adalah 50. |
Returns
Mengembalikan 0 jika metode dipanggil berhasil. Mengembalikan nilai lain jika panggilan gagal.
getAudioEffectPublishVolume
Mendapatkan volume efek suara untuk pengambilan aliran.
public abstract int getAudioEffectPublishVolume(int soundId);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang diberikan ke file efek suara. |
Returns
Mengembalikan 0 jika metode dipanggil berhasil. Mengembalikan nilai selain 0 jika pemanggilan metode gagal.
setAudioEffectPlayoutVolume
Menetapkan volume pemutaran lokal dari efek suara.
public abstract int setAudioEffectPlayoutVolume(int soundId, int volume);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID file efek suara. |
volume | int | Volume pemutaran. Nilai berkisar dari 0 hingga 100. Nilai default adalah 50. |
Pengembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
getAudioEffectPlayoutVolume
Mendapatkan volume pemutaran lokal dari efek suara di Android dan iOS.
public abstract int getAudioEffectPlayoutVolume(int soundId);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang diberikan ke file efek suara. |
Returns
Nilai kembali 0 menunjukkan bahwa metode dipanggil dengan sukses. Nilai lainnya menunjukkan bahwa panggilan gagal.
setAllAudioEffectsPublishVolume
Mengatur volume pencampuran semua efek suara untuk dipublikasikan.
public abstract int setAllAudioEffectsPublishVolume(int volume);Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume pencampuran. Nilai yang valid: 0 hingga 100. Nilai default: 50. |
Mengembalikan
Nilai 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa panggilan gagal.
setAllAudioEffectsPlayoutVolume
Mengatur volume pemutaran lokal untuk semua efek suara di Android dan iOS.
public abstract int setAllAudioEffectsPlayoutVolume(int volume);Parameter
Parameter | Tipe | Deskripsi |
volume | int | Volume pemutaran. Nilai berkisar antara 0 hingga 100. Nilai default adalah 50. |
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai bukan nol menunjukkan pemanggilan metode gagal.
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 | Tipe catatan. | |
recordFormat | Format file (WAV, AAC, atau MP4). | |
filePath | String | Nama file rekaman. |
audioConfig | Konfigurasi audio. | |
videoConfig | Konfigurasi video. | |
maxSize | long | Ukuran maksimum file. |
maxDuration | long | Durasi maksimum file. |
Nilai kembalian
Nilai TRUE menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.
Saat Anda merekam aliran video, Anda hanya dapat memanggil antarmuka ini setelah pengambilan aliran berhasil (
onVideoPublishStateChanged). Antarmuka ini merekam aliran video yang telah dikodekan secara lokal dan menyimpannya di perangkat lokal.Saat Anda merekam aliran audio, rekaman tersebut berisi campuran audio lokal dan semua aliran audio jarak jauh.
stopRecord
Menghentikan perekaman file media.
public abstract void stopRecord();Parameter
Tidak ada.
pauseAudioEffect
Menghentikan sementara efek suara.
public abstract int pauseAudioEffect(int soundId);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang diberikan ke file efek suara. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
pauseAllAudioEffects
Menghentikan sementara semua efek suara.
public abstract int pauseAllAudioEffects();Pengembalian
0 menunjukkan bahwa metode dipanggil berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.
resumeAudioEffect
Melanjutkan pemutaran efek suara.
public abstract int resumeAudioEffect(int soundId);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang diberikan ke file efek suara. |
Return value
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
resumeAllAudioEffects
Menjalankan kembali pemutaran semua efek suara.
public abstract int resumeAllAudioEffects();Pengembalian
0 menunjukkan bahwa metode dipanggil dengan sukses. Nilai selain 0 menunjukkan bahwa panggilan gagal.
createRenderSurfaceView
Membuat tampilan rendering SurfaceView.
public abstract SophonSurfaceView createRenderSurfaceView(Context context);Anda dapat memanggil metode ini untuk menampilkan tampilan video. Jangan membuat SurfaceView secara langsung. Gunakan tampilan yang dikembalikan sebagai berikut:
Tetapkan nilai kembali ke AliRtcVideoCanvas#view.
Panggil setLocalViewConfig untuk mengatur tampilan pratinjau lokal atau panggil setRemoteViewConfig untuk mengatur tampilan pratinjau jarak jauh.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Batasan
Anda harus memanggil metode ini pada thread utama.
Parameter
Parameter | Tipe | Deskripsi |
context | Context | Konteks dari sebuah Activity Android. |
setLocalViewConfig
Menetapkan jendela rendering dan parameter untuk pratinjau lokal.
public abstract int setLocalViewConfig(AliRtcVideoCanvas viewConfig, AliRtcVideoTrack track);Metode ini mengonfigurasi pratinjau lokal. Metode ini menyambungkan tampilan ke aliran video lokal dan mengatur parameter untuk tampilan pengguna lokal, seperti mode rendering, mode cermin, dan sudut rotasi. Metode ini hanya memengaruhi pratinjau lokal dan tidak memengaruhi aliran video yang diingest. Untuk mengonfigurasi tampilan bagi pengguna jarak jauh, Anda dapat memanggil setRemoteViewConfig.
Jika parameter view dalam AliRtcVideoCanvas diatur ke null, rendering akan berhenti.
Untuk mengatur ulang parameter renderMode dari AliRtcVideoCanvas selama pemutaran, ubah hanya parameter renderMode dan pertahankan semua parameter lainnya tetap sama.
Untuk mengatur ulang parameter mirrorMode dari AliRtcVideoCanvas selama pemutaran, ubah hanya parameter mirrorMode dan pertahankan semua parameter lainnya tetap sama.
Anda harus secara eksplisit memanggil startPreview() untuk memulai pratinjau lokal.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
viewConfig | Parameter rendering, yang mencakup jendela rendering dan mode rendering. | |
track | Jenis aliran video. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai bukan nol menunjukkan bahwa panggilan gagal.
setRemoteViewConfig
Menetapkan jendela rendering dan parameter untuk aliran video dari pengguna jarak jauh.
public abstract int setRemoteViewConfig(AliVideoCanvas canvas, String uid,AliRtcVideoTrack track);Metode ini menyambungkan tampilan ke aliran video tertentu dari pengguna jarak jauh. Metode ini juga menetapkan parameter untuk tampilan lokal dari tampilan jarak jauh tersebut, seperti mode rendering, mode cermin (mirror), dan sudut rotasi. Pengaturan ini hanya memengaruhi video yang dilihat oleh pengguna lokal. Untuk mengatur tampilan pratinjau lokal, Anda dapat memanggil setLocalViewConfig.
Jika parameter tampilan dalam AliRtcVideoCanvas kosong, rendering akan berhenti.
Untuk mengatur ulang parameter renderMode dari AliRtcVideoCanvas selama pemutaran, Anda hanya boleh mengubah renderMode dan menjaga parameter lainnya tetap tidak berubah.
Untuk mengatur ulang parameter mirrorMode dari AliRtcVideoCanvas selama pemutaran, Anda hanya boleh mengubah mirrorMode dan menjaga parameter lainnya tetap tidak berubah.
Kapan harus dipanggil
Anda dapat memanggil metode ini ketika menerima callback onRemoteTrackAvailableNotify. Callback ini menunjukkan bahwa aliran video dari pengguna jarak jauh tersedia.
Parameter
Parameter | Tipe | Deskripsi |
canvas | Parameter rendering mencakup jendela rendering dan metode rendering. | |
uid | String | ID pengguna. |
track | Jenis aliran video yang akan diatur. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
setCameraCapturerConfiguration
Menetapkan preferensi pengambilan gambar kamera.
public abstract int setCameraCapturerConfiguration(AliEngineCameraCapturerConfiguration cameraCapturerConfiguration);Anda dapat menggunakan metode ini untuk mengonfigurasi preferensi pengambilan gambar kamera, seperti arah kamera dan laju frame pengambilan.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum membuka kamera, misalnya sebelum memanggil metode berikut:
startPreview
joinChannel
Deskripsi parameter
Parameter | Tipe | Deskripsi |
cameraCapturerConfiguration | Preferensi pengambilan gambar kamera, seperti arah kamera dan laju frame. Nilai default adalah:
Untuk parameter-parameter di atas, nilai -1 menunjukkan bahwa pengaturan SDK default digunakan. |
Nilai kembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lain menunjukkan bahwa pemanggilan metode gagal.
enableLocalVideo
Menonaktifkan atau mengaktifkan pengambilan video lokal.
public abstract int enableLocalVideo(boolean enable);Metode ini mengaktifkan atau menonaktifkan pengambilan video lokal. Saat pengambilan video lokal dinonaktifkan, tidak ada data video yang tersedia untuk pratinjau lokal maupun pengambilan aliran. Hal ini tidak memengaruhi penerimaan video jarak jauh. Jika Anda memanggil metode ini untuk menonaktifkan pengambilan kamera lokal, pratinjau lokal dan pengambilan aliran jarak jauh akan membekukan pada bingkai terakhir.
Penangkapan video lokal diaktifkan secara default.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Callback terkait
Setelah pemanggilan metode ini berhasil, callback onUserVideoEnabled memberi tahu pengguna jarak jauh.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
enable | boolean | Menentukan apakah akan mengaktifkan pengambilan video lokal. Nilai yang valid adalah:
|
Nilai kembalian
Nilai 0 menunjukkan bahwa metode berhasil dipanggil. Nilai bukan nol menunjukkan bahwa pemanggilan gagal.
muteLocalCamera
Menghentikan atau melanjutkan pengiriman data video lokal.
public abstract int muteLocalCamera(boolean mute, AliRtcVideoTrack track);Anda dapat memanggil metode ini selama pengambilan aliran untuk mengirim frame video hitam. Pratinjau lokal tidak terpengaruh. Modul pengambilan, pengkodean, dan pengiriman tetap berjalan, tetapi mengirim frame hitam alih-alih video langsung.
Metode ini digunakan untuk mengontrol apakah akan mengirim frame hitam pada aliran video tertentu. Proses pengumpulan dan transmisi data tidak terpengaruh. Untuk menghentikan pengumpulan, Anda dapat menggunakan metode enableLocalVideo. Untuk menghentikan pengiriman data video, Anda dapat menggunakan metode publishLocalVideoStream atau memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#7558afe6accq4" id="ee17216e55r3t">enableLocalVideo</a> untuk menghentikan pengumpulan.
Parameter
Parameter | Tipe | Deskripsi |
mute | boolean | Menentukan apakah akan menghentikan atau melanjutkan pengiriman data video lokal. Nilai yang valid:
|
track | Jenis aliran video yang status penerbitannya ingin Anda ubah. |
Nilai kembalian
Nilai 0 menunjukkan bahwa metode berhasil dipanggil.
isCameraOn
Memeriksa apakah kamera menyala.
public abstract boolean isCameraOn();Mengembalikan
true jika kamera menyala, atau false jika kamera mati.
setVideoEncoderConfiguration
Menetapkan properti pengkodean video.
public abstract void setVideoEncoderConfiguration(AliRtcVideoEncoderConfiguration config);Metode ini menetapkan parameter video untuk pengodean aliran video, seperti resolusi, laju frame, bitrate, dan orientasi video. Anda dapat memanggil metode ini untuk semua skenario video.
Semua parameter memiliki rentang nilai spesifik. Jika parameter diatur ke nilai di luar rentang validnya, kit pengembangan perangkat lunak (SDK) secara otomatis menyesuaikannya.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau sesudah bergabung dengan saluran. Untuk menetapkan properti pengkodean aliran kamera hanya sekali untuk setiap sesi, Anda dapat memanggil metode ini sebelum Anda bergabung dengan saluran.
Batasan pemanggilan
Baik parameter mirrorMode dari metode ini maupun metode setVideoMirrorMode dapat mengatur mode cermin untuk pengambilan aliran. Sebaiknya Anda hanya menggunakan salah satu dari metode ini. Menggunakan keduanya secara bersamaan dapat menyebabkan efek cermin tumpang tindih, yang dapat mengakibatkan kegagalan pencerminan atau tampilan yang salah.
Parameter
Parameter | Tipe | Deskripsi |
config | Properti pengkodean yang telah ditentukan. Nilai default-nya adalah:
Nilai -1 untuk suatu parameter menunjukkan bahwa SDK menggunakan pengaturan default-nya. |
setVideoDecoderConfiguration
Mengatur properti decoding video.
public abstract void setVideoDecoderConfiguration(AliRtcVideoDecoderConfiguration config);Metode ini mengatur parameter video untuk properti decoding suatu aliran video.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum bergabung ke saluran.
Parameter
Nama | Tipe | Deskripsi |
config | AliRtcVideoDecoderConfiguration | Properti dekode yang telah ditentukan sebelumnya. Nilai default adalah sebagai berikut:
Nilai -1 menunjukkan bahwa pengaturan SDK default digunakan. |
switchCamera
Beralih antara kamera depan dan belakang. Kamera depan digunakan secara default.
public abstract int switchCamera();Metode ini memungkinkan Anda beralih secara dinamis antara kamera aktif saat aplikasi sedang berjalan. Anda tidak perlu me-restart aliran video atau mengonfigurasi ulang sumber video.
Kapan harus memanggil
Anda dapat memanggil metode ini setelah kamera mulai.
Batasan
Metode ini hanya tersedia di Android dan iOS.
Deskripsi respons
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
getCurrentCameraDirection
Mendapatkan arah kamera saat ini.
public abstract AliRTCCameraDirection getCurrentCameraDirection();Deskripsi Respons
CAMERA_REAR(0): Kamera belakang.
CAMERA_FRONT(1): Kamera depan.
CAMERA_INVALID(-1): Tidak valid.
Anda dapat memanggil metode ini setelah menyalakan kamera. Jika tidak, CAMERA_INVALID(-1) akan dikembalikan.
startPreview
Memulai pratinjau lokal.
public abstract int startPreview();Metode ini memulai pratinjau video lokal dan secara otomatis menyalakan kamera. Untuk menghentikan pratinjau lokal, Anda dapat memanggil metode stopPreview.
Meninggalkan saluran dengan memanggil leaveChannel akan secara otomatis menghentikan pratinjau lokal. Jika tidak ada aliran kamera yang sedang diambil, kamera akan secara otomatis mati.
Kapan harus memanggil
Sebelum memanggil metode ini, Anda harus memanggil setLocalViewConfig untuk menetapkan tampilan bagi pratinjau lokal. Jika tidak, pratinjau tidak tersedia, tetapi hal ini tidak memengaruhi pengambilan aliran.
Sesuai kebutuhan, Anda dapat memanggil metode ini untuk memulai pratinjau sebelum bergabung ke dalam saluran dengan memanggil joinChannel. Kamera akan secara otomatis menyala.
Pengembalian
Nilai kembali 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
stopPreview
Menghentikan pratinjau lokal.
public abstract int stopPreview();Metode ini menghentikan pratinjau video lokal dan mematikan kamera. Setelah pratinjau dihentikan, tampilan lokal tetap menampilkan bingkai terakhir. Hal ini tidak memengaruhi pengambilan aliran.
Pemanggilan leaveChannel secara otomatis menghentikan pratinjau lokal. Jika aliran kamera tidak sedang diambil, kamera juga akan dimatikan secara otomatis.
Kapan harus memanggil
Setelah Anda memulai pratinjau, Anda dapat memanggil metode ini untuk menghentikannya.
Pengembalian
Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.
setCameraZoom
Mengatur faktor zoom kamera.
public abstract int setCameraZoom(float zoom);Mengatur faktor zoom kamera.
Batasan
Metode ini hanya tersedia di iOS dan Android.
Kapan harus memanggil
Metode ini hanya berlaku setelah kamera dinyalakan. Faktor zoom akan diatur ulang setiap kali kamera dimulai ulang.
Parameter
Parameter | Tipe | Deskripsi |
zoom | float | Faktor zoom kamera. Nilainya berkisar dari 1 hingga faktor zoom maksimum yang didukung oleh kamera. Panggil GetCameraMaxZoomFactor untuk mendapatkan faktor zoom maksimum yang didukung oleh perangkat saat ini. |
Pengembalian
0: Pemanggilan metode berhasil.
Nilai bukan nol: Panggilan metode gagal.
GetCameraMaxZoomFactor
Mendapatkan faktor zoom maksimum kamera.
public abstract float GetCameraMaxZoomFactor();Returns
Faktor zoom maksimum kamera.
GetCurrentZoom
Mendapatkan rasio zoom saat ini dari kamera.
public abstract float GetCurrentZoom();Nilai yang dikembalikan
Rasio zoom saat ini dari kamera.
SetExposure
Menetapkan eksposur kamera.
public abstract int SetExposure(float exposure);Kondisi pencahayaan yang buruk, seperti lingkungan yang terlalu redup atau terlalu terang, dapat memengaruhi kualitas video. Untuk meningkatkan kualitas video, Anda dapat menggunakan metode ini untuk menyesuaikan eksposur kamera. Anda dapat memanggil GetMinExposure dan GetMaxExposure untuk mendapatkan rentang eksposur yang didukung oleh perangkat saat ini.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
exposure | float | Eksposur kamera. Nilai default-nya adalah 0, yang menggunakan tingkat eksposur default kamera. Nilai yang lebih besar berarti eksposur yang lebih tinggi. Jika video terlalu terang (overexposed), kurangi nilai eksposur. Jika video terlalu gelap (underexposed) dan kehilangan detail di area gelap, tingkatkan nilai eksposur. Jika nilai eksposur yang ditentukan berada di luar rentang yang didukung oleh perangkat, SDK akan menyesuaikannya secara otomatis. |
Pengembalian
0: Pemanggilan metode berhasil.
Nilai bukan nol: Panggilan metode gagal.
GetCurrentExposure
Mendapatkan eksposur kamera.
public abstract float GetCurrentExposure();Mendapatkan pengaturan eksposur kamera saat ini.
Pengembalian
Eksposur kamera saat ini.
GetMinExposure
Mendapatkan eksposur minimum dari Kamera.
public abstract float GetMinExposure();Pengembalian
Eksposur minimum dari kamera.
GetMaxExposure
Mendapatkan eksposur maksimum yang didukung oleh kamera.
public abstract float GetMaxExposure();Pengembalian
Eksposur maksimum kamera.
setCameraFlash
Mengontrol lampu kilat kamera.
public abstract int setCameraFlash(boolean flash);Mengaktifkan atau menonaktifkan lampu kilat.
Umumnya, hanya kamera belakang yang memiliki fitur lampu kilat.
Batas panggilan
API ini hanya tersedia di iOS dan Android.
Parameter
Parameter | Tipe | Deskripsi |
flash | boolean | Menentukan apakah akan menghidupkan lampu kilat.
|
Pengembalian
0: Berhasil.
Nilai bukan nol: Gagal.
isCameraFocusPointSupported
Memeriksa apakah perangkat mendukung fokus manual.
public abstract boolean isCameraFocusPointSupported();Anda dapat memanggil metode ini untuk memeriksa apakah titik fokus dapat diatur pada kamera.
Batasan
Metode ini hanya tersedia di iOS dan Android.
Nilai yang dikembalikan
true: Perangkat mendukung fokus manual.
false: Perangkat tidak mendukung fokus manual.
isCameraExposurePointSupported
Memeriksa apakah perangkat saat ini mendukung pengaturan titik eksposur kamera.
public abstract boolean isCameraExposurePointSupported();Memeriksa apakah perangkat saat ini mendukung pengaturan titik eksposur.
Keterbatasan
Metode ini hanya tersedia di iOS dan Android.
Nilai kembali
true: Perangkat mendukung pengaturan titik eksposur kamera.
false: Perangkat tidak mendukung pengaturan titik eksposur kamera.
setCameraFocusPoint
Menetapkan titik fokus manual untuk Kamera.
public abstract int setCameraFocusPoint(float x, float y);Mengatur titik fokus untuk Kamera saat ini. Setelah metode ini dipanggil, Kamera melakukan penyesuaian eksposur satu kali pada titik yang ditentukan dan kemudian mempertahankan nilai fokus tersebut. Sebelum memanggil metode ini, Anda dapat memanggil isCameraFocusPointSupported untuk memeriksa apakah Perangkat mendukung fitur fokus manual.
Batasan
Metode ini hanya tersedia di iOS dan Android.
Parameter
Parameter | Tipe | Deskripsi |
x | float | Koordinat pada sumbu x. |
y | float | Koordinat pada sumbu y. |
Nilai kembalian
0: Pemanggilan metode berhasil.
Nilai bukan nol: Pemanggilan metode gagal.
setCameraExposurePoint
Menetapkan titik eksposur kamera.
public abstract int setCameraExposurePoint(float x, float y);Mengatur titik eksposur kamera. Setelah metode ini dipanggil, kamera melakukan penyesuaian eksposur satu kali untuk titik yang ditentukan, lalu mempertahankan nilai eksposur tersebut. Sebelum memanggil metode ini, Anda dapat memanggil isCameraExposurePointSupported untuk memeriksa apakah perangkat mendukung fitur titik eksposur manual.
Batasan
Metode ini hanya tersedia di iOS dan Android.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
x | float | Koordinat pada sumbu x. |
y | float | Koordinat pada sumbu y. |
Pengembalian
0: Metode berhasil dipanggil.
Nilai bukan nol: Pemanggilan metode gagal.
isCameraAutoFocusFaceModeSupported
Memeriksa apakah Kamera mendukung fokus wajah otomatis.
public abstract boolean isCameraAutoFocusFaceModeSupported();Memeriksa apakah kamera mendukung fokus wajah otomatis.
Kapan harus dipanggil
Anda dapat memanggil metode ini setelah kamera dinyalakan. Metode ini mengembalikan false secara default jika kamera dimatikan. Metode ini mengembalikan true jika kamera dinyalakan dan mendukung pengenalan wajah serta fokus.
Batasan
API ini hanya tersedia di iOS dan Android.
Nilai kembalian
true: Fokus wajah otomatis didukung.
false: Fokus wajah otomatis tidak didukung.
setCameraAutoFocusFaceModeEnabled
Mengatur autofokus wajah untuk kamera.
public abstract boolean setCameraAutoFocusFaceModeEnabled(boolean enable);Anda dapat memanggil metode ini untuk mengatur kamera agar memfokuskan pada wajah secara real time. Sebelum memanggil metode ini, Anda dapat memanggil isCameraAutoFocusFaceModeSupported untuk memeriksa apakah perangkat mendukung fitur ini.
Keterbatasan
Metode ini hanya tersedia di iOS dan Android.
Parameter
Parameter | Tipe | Deskripsi |
enable | boolean | Menentukan apakah akan mengaktifkan autofokus wajah untuk kamera.
|
Pengembalian
true: Pemanggilan metode berhasil.
false: Pemanggilan metode gagal.
setVideoMirrorMode
Mengatur apakah akan mengaktifkan mode cermin untuk pratinjau lokal dan aliran video yang dipublikasikan.
public abstract int setVideoMirrorMode(AliRtcVideoPipelineMirrorMode mirrorMode);Mengatur apakah akan mengaktifkan mode cermin untuk video pratinjau lokal dan aliran video yang dipublikasikan.
Metode ini memiliki prioritas lebih tinggi daripada setLocalViewConfig&setVideoEncoderConfiguration. Untuk mengatur mode cermin video, Anda harus memanggil metode ini.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. SDK mencatat pengaturan tersebut dan menerapkannya pada video ketika pratinjau dan pengkodean (pengambilan aliran) tersedia.
Batasan
Metode ini menyediakan fungsionalitas yang sama dengan parameter mirrorMode dalam setLocalViewConfig&setVideoEncoderConfiguration. Anda hanya boleh menggunakan satu metode saja untuk mengonfigurasi pencerminan.
Parameter
Parameter | Tipe | Deskripsi |
mirrorMode | Mode cermin. |
Pengembalian
0: Sukses.
<0: Kegagalan.
AliRtcErrInner: Terjadi kesalahan internal SDK. Periksa apakah instans SDK berhasil dibuat.
setCapturePipelineScaleMode
Mengatur waktu penskalaan pengambilan video.
public abstract void setCapturePipelineScaleMode(AliRtcCapturePipelineScaleMode mode);Metode ini mengatur apakah penskalaan video terjadi segera saat pengambilan atau selama proses encoding. Misalnya, jika resolusi pengambilan berbeda dari resolusi encoding, Anda dapat mengatur waktu penskalaan untuk memastikan data pratinjau sesuai dengan data untuk pengambilan aliran.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum membuka kamera. Misalnya, Anda dapat memanggilnya sebelum memulai pratinjau dengan startPreview atau bergabung ke saluran dengan joinChannel.
Parameter
Parameter | Tipe | Deskripsi |
mode | AliRtcCapturePipelineScaleMode | Mengontrol waktu penskalaan pengambilan. Secara default, penskalaan terjadi segera saat pengambilan. |
Mengembalikan
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.
|
useTexture | boolean | Menentukan apakah akan menggunakan mode texture.
|
type | Tipe aliran video. | |
renderMode | Mode rendering. |
pushExternalVideoFrame
Anda dapat memasukkan data video.
public abstract int pushExternalVideoFrame(AliRtcRawDataFrame aliRawDataFrame,AliRtcVideoTrack streameType);Parameter
Parameter | Tipe | Deskripsi |
aliRawDataFrame | Data frame. | |
streameType | Tipe aliran video. |
Mengembalikan
Mengembalikan 0 jika panggilan berhasil. Mengembalikan nilai yang berbeda jika panggilan gagal.
startPublishLiveStream
Memulai aliran langsung bypass.
public abstract int startPublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);Parameter
Parameter | Tipe | Deskripsi |
streamUrl | String | URL ingest. |
transcodingParam | Parameter pengambilan aliran. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
updatePublishLiveStream
Memperbarui parameter streaming langsung bypass.
public abstract int updatePublishLiveStream(String streamUrl,AliRtcLiveTranscodingParam transcodingParam);Parameter
Parameter | Tipe | Deskripsi |
streamUrl | String | URL ingest. |
transcodingParam | Parameter pengambilan aliran. |
Return value
Nilai kembali 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
stopPublishLiveStream
Menghentikan aliran langsung bypass.
public abstract int stopPublishLiveStream(String streamUrl);Parameter
Parameter | Tipe | Deskripsi |
streamUrl | String | URL ingest. |
Returns
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
getPublishLiveStreamState
Mendapatkan status aliran langsung bypass.
public abstract AliRtcEngine.AliRtcLiveTranscodingState getPublishLiveStreamState(String streamUrl);Parameter
Parameter | Tipe | Deskripsi |
streamUrl | String | URL ingest untuk aliran langsung bypass. |
Pengembalian
Mengembalikan status streaming langsung bypass.
startNetworkQualityProbeTest
Memulai pengujian kualitas jaringan.
public abstract int startNetworkQualityProbeTest(AlirtcNetworkQualityProbeConfig config);Parameter
Parameter | Tipe | Deskripsi |
config | AlirtcNetworkQualityProbeConfig | Konfigurasi untuk uji coba probe. |
Returns
Nilai 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.
stopNetworkQualityProbeTest
Menghentikan tes probe kualitas jaringan.
public abstract int stopNetworkQualityProbeTest();Pengembalian
0 menunjukkan keberhasilan. Nilai lainnya menunjukkan bahwa pengujian gagal.
sendMediaExtensionMsg
Mengirim pesan ekstensi media.
public abstract int sendMediaExtensionMsg(byte[]message, int repeatCount, int delay, boolean isKeyFrame);SDK memungkinkan Anda mengirim dan menerima pesan ekstensi media. Metode ini mengirim pesan tersebut menggunakan protokol ekstensi Supplemental Enhancement Information (SEI). Penerima dapat memperoleh pesan dengan mendengarkan callback onMediaExtensionMsgReceived.
Skenario umum meliputi hal-hal berikut:
Meneruskan timestamp untuk menghitung latensi jaringan end-to-end atau menyinkronkan data dengan layanan lain.
Meneruskan informasi deskriptif. Anda dapat mengirim data hingga 4 KB. Anda dapat menggunakan JSON atau string biasa.
Kapan harus memanggil
Anda dapat memanggil metode ini setelah pengambilan aliran dimulai.
Batasan
Pesan ekstensi media menggunakan kembali saluran data audio dan video. Anda harus mengontrol frekuensi dan panjang pesan kustom. Perhatikan batasan berikut:
Anda dapat mengirim jumlah maksimum pesan per detik yang sama dengan frame per detik (fps) yang ditetapkan dalam profil. Hal ini karena pesan SEI dikirimkan dalam aliran H.264 atau H.265 dan hanya dapat dilampirkan saat frame video dikodekan.
Isi pesan kustom dibatasi hingga 4 KB untuk menghindari dampak terhadap kualitas data media.
Parameter repeatCount dalam fungsi sendMediaExtensionMsg menentukan redundansi pesan. Jika repeatCount lebih besar dari 1, pesan dikirim beberapa kali untuk mencegah kehilangan pesan akibat loss paket jaringan. Pengguna lain dalam saluran akan menerima pesan yang sama beberapa kali dan harus menghapus duplikatnya.
Sistem berupaya mencegah kehilangan pesan akibat loss paket jaringan, yang dapat menyebabkan pengguna lain dalam saluran menerima pesan duplikat. Anda harus menghapus duplikat tersebut.
Subscriber saluran juga menerima pesan kustom selama live streaming bypass.
Hanya satu MediaExtensionMsg yang dikirimkan dalam satu waktu. Setiap pemanggilan baru ke sendMediaExtensionMsg akan menimpa data dari pemanggilan sebelumnya.
Callback terkait
Ketika publisher mengirim pesan ekstensi media, subscriber dapat memperoleh pesan tersebut dengan mendengarkan callback onMediaExtensionMsgReceived.
Parameter
Parameter | Tipe | Deskripsi |
message | byte[] | Pesan ekstensi media. Panjang maksimum adalah 4 KB. |
repeatCount | int | Jumlah pengulangan. Ini merepresentasikan redundansi pesan dan mencegah kehilangan pesan akibat loss paket jaringan. Nilai -1 berarti pesan dikirim tanpa henti. |
delay | int | Penundaan dalam milidetik. Ini adalah waktu minimum yang harus ditunggu setelah memanggil API sebelum pesan ekstensi dikirim. |
isKeyFrame | boolean | Menentukan apakah pesan ekstensi hanya dilampirkan pada keyframe. Jika diatur ke true, pesan hanya dilampirkan pada keyframe. |
Nilai Kembali
0: Pemanggilan berhasil.
<0: Pemanggilan gagal. Kode kesalahan dikembalikan.
ERR_INNER(-1): Terjadi kesalahan internal SDK. Hal ini dapat terjadi jika metode dipanggil sebelum SDK diinisialisasi atau setelah SDK dihapus.
sendMediaExtensionMsgEx
Mengirim pesan ekstensi media.
public abstract int sendMediaExtensionMsgEx(byte[]message, int repeatCount, int delay, boolean isKeyFrame, int payloadType);SDK memungkinkan Anda mengirim dan menerima pesan ekstensi media. Metode ini mengirimkan pesan ekstensi media menggunakan protokol ekstensi Supplemental Enhancement Information (SEI). Penerima dapat memperoleh pesan tersebut dengan mendengarkan callback onMediaExtensionMsgReceived. Jika Anda mengatur payloadType ke 5, metode ini bekerja sama seperti metode sendMediaExtensionMsg.
Skenario umum meliputi hal-hal berikut:
Kirimkan timestamp dalam pesan ekstensi media untuk menghitung latensi jaringan end-to-end atau menyinkronkan data dengan layanan lain.
Kirimkan informasi deskriptif dalam pesan ekstensi media. Anda dapat mengirimkan hingga 4 KB data, yang berguna untuk transfer data kecil. Anda dapat menggunakan JSON atau string biasa sebagai format data.
Kapan harus memanggil
Anda dapat memanggil metode ini setelah pengambilan aliran dimulai.
Batasan
Pesan ekstensi media menggunakan kembali saluran data audio dan video. Oleh karena itu, Anda harus mengontrol frekuensi pengiriman dan panjang pesan kustom. Perhatikan batasan berikut:
Anda dapat mengirimkan jumlah maksimum pesan per detik yang sama dengan frame per detik (fps) yang ditetapkan dalam profil. Hal ini karena pesan SEI dikirim dalam aliran H.264 atau H.265 dan hanya dapat disisipkan selama pengkodean frame video.
Untuk menghindari dampak pada kualitas data media, Anda harus membatasi isi pesan kustom hingga 4 KB. Hal ini berguna untuk mengirimkan jumlah informasi yang kecil.
Parameter repeatCount menentukan redundansi pesan. Jika Anda mengaturnya ke nilai lebih besar dari 1, pesan akan dikirim beberapa kali. Hal ini mencegah kehilangan pesan akibat loss paket jaringan. Subscriber lain di saluran akan menerima pesan yang sama beberapa kali dan harus menghapus duplikatnya.
Untuk mencegah kehilangan pesan akibat loss paket jaringan, pesan mungkin dikirimkan beberapa kali. Hal ini dapat menyebabkan pengguna lain di saluran menerima pesan duplikat, yang harus Anda hapus duplikatnya.
Subscriber di saluran juga menerima pesan kustom yang dikirim selama live stream bypass.
Hanya satu MediaExtensionMsg yang ditransmisikan dalam satu waktu. Setiap pemanggilan baru ke sendMediaExtensionMsg akan menimpa data dari pemanggilan sebelumnya.
Parameter
Parameter | Tipe | Deskripsi |
message | byte[] | Pesan ekstensi media. Panjang maksimum adalah 4 KB. |
repeatCount | int | Jumlah pengulangan. Ini merepresentasikan redundansi pesan untuk mencegah kehilangan pesan akibat loss paket jaringan. Nilai -1 berarti pesan dikirim tanpa henti. |
delay | int | Penundaan dalam milidetik. Ini adalah waktu minimum dalam milidetik sebelum pesan ekstensi dikirim setelah Anda memanggil API. |
isKeyFrame | boolean | Menentukan apakah pesan ekstensi hanya disisipkan pada keyframe. Nilai true menunjukkan bahwa pesan ekstensi hanya disisipkan pada keyframe. |
payloadType | int | Rentang nilai yang valid adalah [5, 100..254]. Jika Anda mengatur parameter ini ke 5, metode ini bekerja sama seperti metode sendMediaExtensionMsg. |
Mengembalikan
0: Pemanggilan berhasil.
<0: Panggilan gagal. Kode kesalahan dikembalikan.
ERR_INNER(-1): Terjadi kesalahan internal SDK. Hal ini dapat terjadi jika SDK belum diinisialisasi atau jika metode dipanggil setelah SDK dihapus.
onConnectionStatusChange
Callback untuk perubahan status koneksi jaringan. Anda harus menangani callback ini.
public void onConnectionStatusChange(AliRtcEngine.AliRtcConnectionStatus status,
AliRtcEngine.AliRtcConnectionStatusChangeReason reason);Parameter
Parameter | Tipe | Deskripsi |
status | Status koneksi jaringan saat ini. | |
reason | Alasan mengapa status koneksi jaringan berubah. |
OnLocalDeviceException
Pemicu balikan ini diaktifkan ketika terjadi pengecualian pada perangkat lokal. Anda harus menangani pemicu balikan ini.
public void OnLocalDeviceException(AliRtcEngine.AliRtcEngineLocalDeviceType deviceType, AliRtcEngine.AliRtcEngineLocalDeviceExceptionType exceptionType, String msg)Parameter
Parameter | Tipe | Deskripsi |
deviceType | AliRtcEngineLocalDeviceType | Tipe perangkat. |
exceptionType | AliRtcEngineLocalDeviceExceptionType | Tipe pengecualian perangkat. |
msg | String | Pesan yang berisi detail mengenai pengecualian tersebut. |
onAuthInfoWillExpire
Callback ini memberi tahu Anda bahwa informasi autentikasi Anda akan segera kedaluwarsa. Autentikasi akan kedaluwarsa 30 detik setelah Anda menerima callback ini. Anda harus menangani callback ini.
public void onAuthInfoWillExpire();Callback ini menunjukkan bahwa informasi autentikasi Anda akan kedaluwarsa dalam 30 detik. Anda harus memperoleh token baru dan memperbarui informasi autentikasi dengan salah satu cara 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.
Kapan dipicu
SDK memicu callback ini 30 detik sebelum informasi autentikasi Anda kedaluwarsa. Anda harus segera memperbarui informasi autentikasi setelah menerima callback ini.
onAuthInfoExpired
Menunjukkan bahwa informasi autentikasi telah kedaluwarsa.
public void onAuthInfoExpired();Callback ini menunjukkan bahwa informasi autentikasi telah kedaluwarsa. Untuk tetap berada di saluran, Anda harus menghasilkan token baru di server dan memperbarui informasi autentikasi sebagai berikut:
Panggil
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#fef395c4beqdt" id="c3b0cf2f19dgm">leaveChannel</a>untuk meninggalkan saluran saat ini, lalu panggiljoinChanneluntuk bergabung kembali ke saluran.
Ketika dipicu
Callback ini dipicu saat informasi autentikasi kedaluwarsa.
onJoinChannelResult
Callback untuk hasil bergabung ke saluran.
public void onJoinChannelResult(int result, String channel, String userId, int elapsed);Parameter
Parameter | Tipe | Deskripsi |
result | int | Hasil bergabung ke saluran. Nilai 0 menunjukkan keberhasilan. Jika tidak, kode kesalahan dikembalikan. Untuk informasi selengkapnya, lihat daftar kode kesalahan. Kode kesalahan umum meliputi yang berikut:
|
channel | String | ID saluran. |
userId | String | ID pengguna. |
elapsed | int | Waktu yang berlalu untuk bergabung ke saluran. Satuan: milidetik. |
onLeaveChannelResult
Callback untuk hasil meninggalkan saluran.
public void onLeaveChannelResult(int result, AliRtcEngine.AliRtcStats stats);Kondisi pemicu
Saat 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> untuk meninggalkan saluran, callback ini dipicu dan mengembalikan hasil dari proses meninggalkan saluran serta informasi statistik mengenai sesi saluran tersebut.
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, callback ini tidak akan dipicu.
Parameter
Parameter | Tipe | Deskripsi |
result | int | Hasil dari proses meninggalkan saluran. Nilai 0 menunjukkan keberhasilan. Nilai bukan nol merupakan kode kesalahan. |
stats | Statistik kinerja untuk sesi tersebut. |
onRemoteUserOffLineNotify
Panggilan balik ketika pengguna jarak jauh offline.
public void onRemoteUserOffLineNotify(String uid, AliRtcUserOfflineReason reason);Panggilan balik ini dipicu ketika pengguna jarak jauh offline. Panggilan balik ini memberi tahu pengguna lokal bahwa pengguna jarak jauh telah meninggalkan saluran karena alasan apa pun.
Pemicu
Pengguna remote secara aktif meninggalkan saluran.
Ketika seorang 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 penonton (dengan memanggil AliRtcEngine#setClientRole dan mengatur peran menjadi AliRTCSdkLive), sebuah panggilan balik dipicu.SDK tidak menerima data dari streamer jarak jauh dalam periode yang lama dan menganggap streamer tersebut offline.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
reason | Alasan pengguna offline. |
onRemoteUserOnLineNotify
Callback yang dipanggil ketika pengguna jarak jauh online.
public void onRemoteUserOnLineNotify(String uid, int elapsed);Callback ini memberi tahu klien lokal ketika pengguna jarak jauh bergabung ke dalam saluran.
Pemicu
Pengguna jarak jauh bergabung ke saluran.
Setelah Anda bergabung ke saluran, Anda menerima callback ini untuk semua pengguna yang sudah berada di saluran tersebut.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID dari pengguna remote. |
elapsed | int | Waktu yang berlalu, dalam milidetik, bagi pengguna untuk bergabung ke saluran. |
onRemoteTrackAvailableNotify
Panggilan balik ini dipicu ketika status aliran audio atau video pengguna jarak jauh berubah.
public void onRemoteTrackAvailableNotify(String uid, AliRtcAudioTrack audioTrack,
AliRtcVideoTrack videoTrack);Panggilan balik ini dipicu ketika status pengambilan aliran pengguna jarak jauh berubah. Anda dapat menggunakan panggilan balik ini untuk mengetahui secara real time apakah pengguna jarak jauh sedang mempublikasikan aliran audio dan video, serta menampilkan atau menyembunyikan informasi audio dan video pengguna jarak jauh tersebut di antarmuka sesuai kebutuhan.
Panggilan balik ini mengembalikan status pengambilan aliran pengguna jarak jauh. Untuk mengetahui aliran mana yang dibatalkan publikasinya dalam perubahan ini, Anda harus mencatat perubahan status sebelum dan sesudah panggilan balik.
Kondisi Pemicu
Callback ini dipicu dalam skenario berikut:
Pengguna jarak jauh mulai melakukan pengambilan aliran, termasuk audio dan video.
Pengguna jarak jauh menghentikan pengambilan aliran, termasuk audio dan video.
Dalam mode aliran interaktif, pengguna jarak jauh memanggil setClientRole untuk mengganti perannya dari penonton menjadi Streamer dan mengaktifkan pengambilan aliran. Tindakan ini memicu panggilan balik.
Sebagai contoh untuk video, jika pengguna jarak jauh diatur untuk tidak melakukan pengambilan aliran, panggilan balik ini tidak dipicu:
Jika pengguna jarak jauh mulai mempublikasikan aliran kamera (status pengambilan aliran: tidak ada aliran video -> hanya aliran kamera), klien lokal menerima panggilan balik
AliRtcVideoTrackCamera. Hal ini menunjukkan bahwa aliran kamera pengguna jarak jauh aktif.Jika pengguna jarak jauh juga mempublikasikan aliran berbagi layar (status pengambilan aliran: hanya aliran kamera -> aliran kamera dan aliran berbagi layar), klien lokal menerima panggilan balik
AliRtcVideoTrackBoth. Hal ini menunjukkan bahwa aliran kamera dan aliran berbagi layar dari pengguna jarak jauh keduanya aktif.Jika pengguna jarak jauh menghentikan publikasi aliran kamera dan hanya mempertahankan aliran berbagi layar (status pengambilan aliran: aliran kamera dan aliran berbagi layar -> hanya aliran berbagi layar), klien lokal menerima panggilan balik
AliRtcVideoTrackScreen. Hal ini menunjukkan bahwa hanya aliran berbagi layar yang saat ini aktif.Jika pengguna jarak jauh kemudian menghentikan publikasi aliran berbagi layar (status pengambilan aliran: hanya aliran berbagi layar -> tidak ada aliran video), klien lokal menerima panggilan balik
AliRtcVideoTrackNo. Hal ini menunjukkan bahwa tidak ada aliran video yang saat ini aktif.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna remote. |
audioTrack | Aliran audio terbaru dari pengguna remote. | |
videoTrack | Aliran video terbaru dari pengguna remote. |
onBye
Callback yang dipicu ketika Anda dihapus dari saluran oleh server atau ketika saluran ditutup.
public void onBye(int code);Ketika pengguna terputus karena alasan apa pun atau sesi saluran berakhir, callback ini akan dipicu. Anda dapat menggunakan parameter callback code untuk menentukan alasan pemutusan koneksi dan menanganinya secara sesuai.
Pemicu
Anda dihapus dari saluran oleh server.
Saluran berakhir karena server menutup saluran tersebut.
Anda terputus secara tidak disengaja. Klien harus mencoba melanjutkan sesi atau menyambung ulang.
Parameter
Parameter | Tipe | Deskripsi |
code | int | Kode alasan untuk event onBye. Untuk informasi selengkapnya, lihat AliRtcOnByeType. |
onAudioPublishStateChanged
Callback untuk perubahan status penerbitan aliran audio.
public void onAudioPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState ,
AliRtcEngine.AliRtcPublishState newState,
int elapseSinceLastState, String channel);Callback ini dipicu ketika status penerbitan aliran audio pengguna lokal berubah.
Pemicu
Ketika status pengambilan aliran audio untuk pengguna berubah, misalnya:
Penerbitan aliran berhenti.
Anda 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 penonton.
Parameter
Parameter | Tipe | Deskripsi |
oldState | Status penerbitan sebelumnya. | |
newState | Status penerbitan saat ini. | |
elapseSinceLastState | int | Waktu yang telah berlalu sejak perubahan status terakhir, dalam milidetik. |
channel | String | ID saluran saat ini. |
onAudioSubscribeStateChanged
Callback untuk perubahan status langganan aliran audio.
public void onAudioSubscribeStateChanged(String uid,
AliRtcEngine.AliRtcSubscribeState oldState,
AliRtcEngine.AliRtcSubscribeState newState,
int elapseSinceLastState, String channel);Callback ini dipicu ketika status langganan aliran audio pengguna jarak jauh berubah. Callback ini menunjukkan status langganan baru dan waktu yang telah berlalu sejak status sebelumnya.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
oldState | Status langganan sebelumnya. | |
newState | Status langganan saat ini. | |
elapseSinceLastState | int | Waktu yang telah berlalu sejak perubahan status terakhir, dalam milidetik. |
channel | String | ID saluran saat ini. |
onUserAudioMuted
Terjadi ketika pengguna jarak jauh membisukan atau mengaktifkan kembali audio mereka.
public void onUserAudioMuted(String uid, boolean isMute);Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna yang membisukan atau mengaktifkan kembali audio mereka. |
isMute | boolean | Status bisu audio.
|
onUserAudioInterruptedBegin
Memberi tahu Anda ketika gangguan audio pengguna dimulai.
public void onUserAudioInterruptedBegin(String uid);Parameter
Parameter | Tipe | Deskripsi |
uid | String | Pengguna yang audionya terganggu. |
onUserAudioInterruptedEnded
Notifikasi bahwa gangguan audio pengguna telah berakhir.
public void onUserAudioInterruptedEnded(String uid);Parameter
Parameter | Tipe | Deskripsi |
uid | String | Pengguna yang audionya terinterupsi. |
onVideoPublishStateChanged
Ini adalah callback untuk perubahan status penerbitan video.
public void onVideoPublishStateChanged(AliRtcEngine.AliRtcPublishState oldState ,
AliRtcEngine.AliRtcPublishState newState,
int elapseSinceLastState, String channel);Callback ini melaporkan perubahan dalam status penerbitan aliran video pengguna lokal.
Parameter
Parameter | Tipe | Deskripsi |
oldState | Status penerbitan sebelumnya. | |
newState | Status penerbitan saat ini. | |
elapseSinceLastState | int | Waktu yang berlalu sejak perubahan status terakhir, dalam milidetik. |
channel | String | ID saluran saat ini. |
onVideoSubscribeStateChanged
Callback untuk perubahan status langganan aliran video Kamera.
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 video Kamera milik pengguna jarak jauh. Callback ini menyediakan status langganan baru dan waktu yang berlalu sejak perubahan status terakhir.
Callback terkait
Aliran video mencakup aliran Kamera dan aliran berbagi layar. Callback ini digunakan untuk 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 | Waktu yang telah berlalu sejak perubahan status terakhir. |
channel | String | ID saluran saat ini. |
onUserVideoMuted
Anda akan diberi tahu ketika pengguna jarak jauh mengirimkan frame video hitam.
public void onUserVideoMuted(String uid, boolean isMute);Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna yang memanggil enableLocalVideo. |
isMute | boolean | Menentukan apakah akan mengirimkan frame hitam. Nilai yang valid adalah:
|
onUserVideoEnabled
Pemicu balik ini dijalankan ketika pengguna jarak jauh mengaktifkan atau menonaktifkan aliran kamera mereka.
public void onUserVideoEnabled(String uid, boolean isMute);Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
isMute | boolean | Menentukan apakah aliran kamera diaktifkan.
|
onUserWillResignActive
Aplikasi pengguna jarak jauh berpindah ke latar belakang.
public void onUserWillResignActive(String uid);Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna. |
onUserWillBecomeActive
Terjadi ketika aplikasi pengguna jarak jauh kembali ke latar depan.
public void onUserWillBecomeActive(String uid);Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna. |
onAliRtcStats
Memberikan laporan statistik untuk sesi saat ini. SDK memicu callback ini setiap dua detik.
public void onAliRtcStats(AliRtcEngine.AliRtcStats stats);Parameter
Parameter | Tipe | Deskripsi |
stats | Statistik sesi. |
onAudioEffectFinished
Pemicu balik ini diaktifkan ketika pemutaran efek suara lokal selesai.
void OnAudioEffectFinished(int soundId);Parameter
Parameter | Tipe | Deskripsi |
soundId | int | ID yang ditetapkan pengguna untuk berkas efek suara. |
onAudioFileInfo
Callback untuk informasi file audio.
public void onAudioFileInfo(AliRtcEngine.AliRtcAudioFileInfo info, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);Callback ini dipicu ketika Anda memanggil getAudioFileInfo untuk mendapatkan informasi mengenai sebuah file audio. Callback ini menyediakan informasi tentang file tersebut, seperti durasinya, atau pesan kesalahan.
Parameters
Parameter | Tipe | Deskripsi |
info | AliRtcEngine.AliRtcAudioFileInfo | Informasi tentang file audio, termasuk jalur file dan durasi. |
errorCode | AliRtcEngine.AliRtcAudioAccompanyErrorCode | Kode kesalahan untuk iringan audio. Ini menunjukkan adanya kesalahan, seperti kegagalan membuka atau mendekode file. |
onMediaExtensionMsgReceived
Callback ini dipicu ketika pesan ekstensi media diterima.
public void onMediaExtensionMsgReceived(String uid, int payloadType, byte[] message);Ketika klien mengirim pesan menggunakan sendMediaExtensionMsg, klien lain menerima data tersebut melalui panggilan balik ini.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna yang mengirim pesan ekstensi media. |
payloadType | int | Jenis muatan. Nilainya adalah 5 untuk pesan yang dikirim oleh sendMediaExtensionMsg. Untuk pesan yang dikirim oleh sendMediaExtensionMsgEx, jenis tertentu akan dikembalikan. |
message | byte[] | Pesan ekstensi media. |
onFirstRemoteVideoFrameDrawn
Callback ini dipicu ketika frame video pertama dari pengguna remote ditampilkan.
public void onFirstRemoteVideoFrameDrawn(String uid,AliRtcVideoTrack videoTrack, int width, int height, int elapsed);Pemicu balik ini memberi tahu pengguna lokal setelah bingkai video pertama dari pengguna jarak jauh diterima dan dirender. Pemicu ini membantu pengembang memantau waktu penyiapan 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 diterima. | |
width | int | Lebar aliran video yang diambil. |
height | int | Tinggi aliran video yang diambil. |
elapsed | int | Waktu yang berlalu, dalam milidetik, sejak pengguna lokal bergabung ke saluran hingga bingkai pertama aliran video ditampilkan. |
onFirstLocalVideoFrameDrawn
Pemicu balik ini diaktifkan ketika bingkai video pertama digambar dalam pratinjau.
public void onFirstLocalVideoFrameDrawn(int width, int height, int elapsed);Pemicu balik ini diaktifkan ketika bingkai video lokal pertama dirender setelah pengguna lokal mengaktifkan kamera. Anda dapat menggunakan pemicu balik ini untuk memantau kecepatan penyiapan pratinjau video lokal, menilai kinerja perangkat, dan mengoptimalkan pengalaman pengguna. Misalnya, Anda dapat menampilkan pesan "Kamera siap" atau menyesuaikan tata letak pratinjau.
Parameter
Parameter | Tipe | Deskripsi |
width | int | Lebar video pratinjau lokal. |
height | int | Tinggi video pratinjau lokal. |
elapsed | int | Waktu yang berlalu dalam milidetik sejak pengguna lokal bergabung ke saluran hingga bingkai pertama ditampilkan dalam pratinjau lokal. |
onFirstVideoFrameReceived
Terjadi ketika aliran video pertama dari pengguna jarak jauh diterima.
public void onFirstVideoFrameReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost);SDK memicu callback ini ketika pengguna lokal berhasil menerima frame video pertama dari pengguna jarak jauh. Anda dapat menggunakan callback ini untuk memantau waktu penyiapan 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 remote. |
videoTrack | Tipe aliran video yang diterima. | |
timeCost | int | Waktu yang berlalu sejak pengguna bergabung ke saluran hingga paket video pertama dikirim, dalam milidetik. |
onFirstVideoPacketSent
Callback saat paket video pertama dikirim.
public void onFirstVideoPacketSent(String uid, AliRtcVideoTrack videoTrack, int timeCost);Callback ini dipicu ketika pengguna lokal berhasil mengirim paket video pertama. Anda dapat menggunakan callback ini untuk memantau kecepatan pembentukan tautan pengiriman video, mengevaluasi kinerja perangkat lokal, dan mengoptimalkan pengalaman pengguna. Misalnya, Anda dapat menampilkan pesan "Video terkirim" atau menyesuaikan kebijakan pengumpulan.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
videoTrack | Jenis aliran video. | |
timeCost | int | Waktu yang berlalu sejak pengguna bergabung ke saluran hingga paket video pertama dikirim, dalam milidetik. |
onFirstAudioPacketSent
Panggilan balik saat paket audio pertama dikirim.
public void onFirstAudioPacketSent(String uid, AliRtcAudioTrack track, int timeCost);Panggilan balik ini dipicu ketika pengguna lokal berhasil mengirim paket audio pertama. Panggilan balik ini memungkinkan Anda memantau kecepatan pembentukan tautan pengiriman audio, mengevaluasi kinerja perangkat dan sistem lokal, serta mengoptimalkan pengalaman pengguna.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
track | Jenis aliran audio yang diterima. | |
timeCost | int | Waktu yang berlalu sejak bergabung ke saluran hingga paket audio pertama dikirim, dalam milidetik. |
onFirstVideoPacketReceived
Panggilan balik untuk paket video pertama yang diterima.
public void onFirstVideoPacketReceived(String uid, AliRtcVideoTrack videoTrack, int timeCost)Panggilan balik ini dipicu ketika pengguna lokal menerima paket video pertama dari pengguna jarak jauh. Anda dapat menggunakan panggilan balik ini untuk memantau kecepatan koneksi video atau memperbarui komponen UI untuk aliran video.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh. |
videoTrack | Jenis aliran video. | |
timeCost | int | Waktu yang berlalu, dalam milidetik, dari saat pengguna lokal bergabung dengan saluran hingga paket video pertama diterima. |
onFirstAudioPacketReceived
Callback untuk menerima paket audio pertama.
public void onFirstAudioPacketReceived(String uid, AliRtcAudioTrack track, int timeCost)Callback ini dipicu ketika pengguna lokal menerima paket audio pertama dari pengguna jarak jauh. Callback ini membantu Anda memantau kecepatan pembentukan tautan audio, menilai kualitas jaringan, dan mengoptimalkan pengalaman pengguna. Misalnya, Anda dapat menampilkan pesan seperti "Audio terhubung" atau menyesuaikan kebijakan pemutaran.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna remote. |
track | Jenis aliran audio yang diterima. | |
timeCost | int | Waktu yang berlalu sejak pengguna lokal bergabung ke saluran hingga menerima paket audio pertama. Satuan: milidetik. |
onFirstRemoteAudioDecoded
Callback untuk frame pertama yang didekode dari aliran audio remote.
public void onFirstRemoteAudioDecoded(String uid, AliRtcAudioTrack track, int elapsed)Callback ini dipicu setelah frame pertama dari aliran audio remote ditarik dan didekode. Callback ini memberi tahu Anda bahwa aliran audio pengguna remote berhasil didekode dan siap untuk diputar. Anda dapat menggunakan callback ini untuk mengukur waktu hingga frame pertama atau memperbarui Widget UI untuk aliran pemutaran.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna remote. |
track | Jenis aliran audio. | |
elapsed | int | Waktu yang berlalu dalam milidetik sejak pengguna lokal bergabung ke saluran hingga frame audio pertama didekode. |
onAudioAccompanyStateChanged
Callback untuk status pemutaran iringan audio lokal.
public void onAudioAccompanyStateChanged(AliRtcEngine.AliRtcAudioAccompanyStateCode playState, AliRtcEngine.AliRtcAudioAccompanyErrorCode errorCode);Callback ini memberikan notifikasi real-time kepada pengembang mengenai status pemutaran iringan saat ini, seperti dimulai, dijeda, atau selesai, serta kode kesalahan yang mungkin terjadi. Anda dapat menggunakan callback ini untuk memantau progres pemutaran, menangani event abnormal, dan memperbarui antarmuka pengguna.
Parameter
Parameter | Tipe | Deskripsi |
playState | AliRtcEngine.AliRtcAudioAccompanyStateCode | Status pemutaran dari audio iringan. |
errorCode | AliRtcEngine.AliRtcAudioAccompanyErrorCode | Kode kesalahan pemutaran. Biasanya menunjukkan adanya kesalahan dalam membuka atau mendekode file. |
onRemoteAudioAccompanyStarted
Pemicu balik yang diaktifkan ketika pengguna jarak jauh mulai memutar iringan audio.
public void onRemoteAudioAccompanyStarted(String uid);Pemicu balik ini memberi tahu aplikasi lokal ketika pengguna jarak jauh mulai memutar iringan audio, seperti musik latar. Anda dapat menggunakan pemicu balik ini untuk menjalankan logika inisialisasi, seperti memperbarui UI, menyesuaikan volume, atau memberi tahu pengguna lain.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh yang mulai memutar iringan audio. |
onRemoteAudioAccompanyFinished
Callback ini dipicu ketika pemutaran iringan audio pengguna jarak jauh selesai.
public void onRemoteAudioAccompanyFinished(String uid);Ketika pengguna jarak jauh memutar iringan audio, seperti musik latar atau efek suara, callback ini memberi tahu aplikasi Anda setelah pemutaran selesai. Anda dapat menggunakan callback ini untuk mengimplementasikan logika berikutnya, seperti menampilkan prompt kepada pengguna atau memperbarui status aplikasi.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna remote yang musik latarnya telah selesai diputar. |
onVideoResolutionChanged
Resolusi aliran video jarak jauh berubah.
public void onVideoResolutionChanged(String uid,AliRtcVideoTrack videoTrack, int width, int height);Callback ini dipicu ketika resolusi aliran video pengguna jarak jauh berubah. Perubahan resolusi dapat terjadi ketika pengguna mengganti kamera, menyesuaikan definisi video, atau ketika masalah jaringan menyebabkan penurunan resolusi. Anda dapat menggunakan callback ini untuk menyesuaikan secara dinamis logika rendering video lokal Anda, seperti tata letak UI, penskalaan kanvas, dan optimasi kinerja.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna jarak jauh yang resolusi videonya berubah. |
videoTrack | Jenis aliran video, seperti aliran kamera atau aliran layar. | |
width | int | Lebar resolusi video baru. |
height | int | Tinggi resolusi video baru. |
onRtcLocalVideoStats
Memberikan statistik untuk aliran video lokal yang dipublikasikan.
public void onRtcLocalVideoStats(AliRtcEngine.AliRtcLocalVideoStats aliRtcStats);Callback ini memberikan statistik real-time untuk aliran video lokal, termasuk status pengkodean dan transport seperti bitrate dan laju frame. Anda dapat menggunakan callback ini untuk memantau kualitas video, mendiagnosis masalah performa, atau menyesuaikan parameter pengkodean secara dinamis.
Parameter
Parameter | Tipe | Deskripsi |
aliRtcStats | AliRtcEngine.AliRtcLocalVideoStats | Statistik untuk aliran video lokal yang dipublikasikan, termasuk bitrate publikasi dan laju frame. Untuk informasi selengkapnya, lihat AliRtcLocalVideoStats. |
onRtcRemoteVideoStats
Melaporkan statistik dari aliran video remote yang telah dilanggankan.
public void onRtcRemoteVideoStats(AliRtcEngine.AliRtcRemoteVideoStats aliRtcStats);Ini adalah callback untuk mengambil statistik aliran video jarak jauh. Callback ini menyediakan informasi real-time mengenai status pengkodean dan Transport video jarak jauh, seperti bitrate, laju frame, resolusi, latensi, dan tersendat. Anda dapat menggunakan callback ini untuk memantau kualitas video, mendiagnosis masalah kinerja, atau menyesuaikan parameter decoding secara dinamis.
Parameter
Parameter | Tipe | Deskripsi |
aliRtcStats | AliRtcEngine.AliRtcRemoteVideoStats | Statistik video jarak jauh, termasuk ID pengguna jarak jauh, resolusi video, laju frame, dan jumlah kejadian tersendat. Untuk informasi selengkapnya, lihat AliRtcRemoteVideoStats. |
onRtcRemoteAudioStats
Memberikan laporan statistik aliran audio jarak jauh yang telah berlangganan.
public void onRtcRemoteAudioStats(AliRtcEngine.AliRtcRemoteAudioStats aliRtcStats);Callback ini melaporkan statistik untuk aliran audio jarak jauh yang telah berlangganan, seperti kualitas audio, tingkat kehilangan paket, dan latensi. Anda dapat menggunakan callback ini untuk memantau stabilitas tautan audio jarak jauh, mendiagnosis masalah jaringan, serta menyesuaikan kebijakan pemutaran secara dinamis. Misalnya, Anda dapat mengaktifkan pengurangan kebisingan atau memberikan prompt kepada pengguna agar mengoptimalkan jaringan mereka.
Parameter
Parameter | Tipe | Deskripsi |
aliRtcStats | AliRtcEngine.AliRtcRemoteAudioStats | Statistik kinerja aliran audio jarak jauh, termasuk ID pengguna jarak jauh, kualitas audio, tingkat kehilangan paket, jumlah stutter, dan latensi. Untuk informasi selengkapnya, lihat AliRtcRemoteAudioStats. |
onRtcLocalAudioStats
Memberikan laporan statistik aliran audio lokal.
public void onRtcLocalAudioStats(AliRtcEngine.AliRtcLocalAudioStats aliRtcStats);Callback ini melaporkan statistik untuk aliran audio lokal yang dipublikasikan. Callback ini menyediakan status pengkodean dan transportasi secara real-time, termasuk bitrate, laju sampel, jumlah saluran suara, dan tingkat kehilangan paket. Anda dapat menggunakan callback ini untuk memantau stabilitas tautan audio lokal, mendiagnosis masalah kinerja, serta menyesuaikan kebijakan pengkodean secara dinamis, seperti mengurangi bitrate.
Parameter
Parameter | Tipe | Deskripsi |
aliRtcStats | AliRtcEngine.AliRtcLocalAudioStats | Statistik untuk aliran audio yang dipublikasikan secara lokal. Ini mencakup jenis aliran audio, bitrate terkirim, laju sampel terkirim, dan jumlah saluran suara. Untuk informasi selengkapnya, lihat AliRtcLocalAudioStats. |
onAudioFocusChange
Callback untuk perubahan fokus audio. Ini hanya berlaku untuk platform Android.
public void onAudioFocusChange(int focusChange);Callback ini memberi tahu Anda ketika fokus audio berubah. SDK secara default meminta fokus audio. Jika aplikasi lain memerlukan fokus audio, aplikasi tersebut harus memintanya kembali setelah menerima callback ini.
Waktu Notifikasi
Dipicu saat status perangkat keluaran audio berubah. Contohnya termasuk mencolokkan atau mencabut headphone, beralih ke perangkat Bluetooth, atau beralih antara earpiece dan speaker.
Parameter
Parameter | Tipe | Deskripsi |
focusChange | int | Tipe status fokus. Nilainya sama dengan tipe fokus yang didefinisikan dalam android.media.AudioManager. |
onAudioRouteChanged
Pemicu balikan yang dijalankan saat rute audio berubah. Ini hanya berlaku untuk Android dan iOS.
public void onAudioRouteChanged(AliRtcEngine.AliRtcAudioRouteType routing);Pemicu balikan ini memberi tahu aplikasi ketika jalur keluaran audio suatu perangkat berubah, misalnya saat headset dicolokkan atau keluaran dialihkan ke speaker. Pemicu balikan ini hanya berlaku untuk Android dan iOS. Anda dapat menggunakan pemicu balikan ini untuk menyesuaikan kebijakan keluaran audio secara dinamis, seperti mengganti mode mikrofon atau menyesuaikan volume.
Parameter
Parameter | Tipe | Deskripsi |
routing | AliRtcEngine.AliRtcAudioRouteType | Rute audio saat ini. |
onRemoteUserSubscribedDataChannel
Anda dapat mulai mengirimkan callback pesan pada saluran data.
public void onRemoteUserSubscribedDataChannel(String uid);Callback ini dipicu ketika pengguna jarak jauh berlangganan ke saluran data. Callback ini memberi tahu pengguna lokal bahwa pengguna jarak jauh yang ditentukan siap menerima pesan kustom. Anda kemudian dapat dengan aman memanggil sendDataChannelMsg untuk mengirimkan data kepada pengguna tersebut. Callback ini merupakan mekanisme utama untuk memastikan pengiriman pesan yang andal. Callback ini mencegah kehilangan paket atau kegagalan yang dapat terjadi jika Anda mengirimkan pesan sebelum pengguna target berlangganan ke saluran data.
Callback ini hanya dipicu dalam skenario AI.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID dari pengguna remote. |
onDataChannelMessage
Callback untuk menerima pesan kustom dari saluran data.
public void onDataChannelMessage(String uid, AliRtcEngine.AliRtcDataChannelMsg msg);ApsaraVideo Real-time Communication (ARTC) kit pengembangan perangkat lunak (SDK) memungkinkan Anda mengirim dan menerima pesan kustom. Anda dapat mengirim data kustom secara real-time bersamaan dengan data audio dan video. Callback ini digunakan untuk menerima pesan kustom dari saluran data. Untuk informasi selengkapnya, lihat Kirim dan terima pesan kustom.
Dalam skenario interaktif, Streamer dapat mengirim dan menerima pesan. Penonton hanya dapat menerima pesan.
Fitur ini dinonaktifkan secara default. Untuk mengaktifkannya, Anda dapat memanggil
setParametersetelah membuat engine dan mengatur parameter menjadi{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}.
Saat dipicu
Setelah pengirim memanggil sendDataChannelMsg untuk mengirim pesan kustom, callback ini dipicu di sisi penerima. Penerima harus telah mengaktifkan fitur saluran data.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna pengirim. |
msg | AliRtcEngine.AliRtcDataChannelMsg | Pesan kustom yang diterima. |
onAudioVolume
Memberikan laporan volume audio, status suara, dan UID pengguna yang berlangganan.
public void onAudioVolume(List<AliRtcEngine.AliRtcAudioVolume> speakers, int totalVolume);Secara default, callback ini dinonaktifkan. Anda dapat mengaktifkannya dengan memanggil metode <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="d1cae8ec5dc2w">enableAudioVolumeIndication</a>. Setelah diaktifkan, SDK memicu callback ini pada interval yang ditetapkan dalam <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#dbc70a301dtjz" id="e5e0d330423ax">enableAudioVolumeIndication</a> setelah Anda bergabung ke saluran tempat pengguna melakukan ingest aliran. Hasil callback berisi informasi volume untuk speaker lokal maupun remote.
Parameter
Parameter | Tipe | Deskripsi |
speakers | List<AliRtcEngine.AliRtcAudioVolume> | Sebuah larik informasi volume pengguna. Setiap elemen berisi UID pengguna, status suara, dan volume.
|
totalVolume | int | Volume total setelah pencampuran. Nilainya berkisar antara 0 hingga 255. Pada callback di klien pengguna lokal, `totalVolume` adalah volume audio pengguna lokal setelah pencampuran. Pada callback di klien pengguna remote, `totalVolume` adalah volume total gabungan dari semua speaker. |
onActiveSpeaker
Anda dapat berlangganan ke pembicara aktif.
public void OnActiveSpeaker(String uid);Setelah pemanggilan yang berhasil ke <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 dengan volume tertinggi dan menghitung jumlah kali pengguna tersebut diidentifikasi sebagai yang paling keras. Pengguna jarak jauh dengan jumlah tertinggi dalam interval waktu saat ini dianggap sebagai pengguna paling aktif.
Kondisi Pemicu
Ketika jumlah pengguna dalam saluran lebih besar dari atau sama dengan 2 dan terdapat pengguna aktif jarak jauh, SDK memicu callback ini dan melaporkan UID pengguna jarak jauh yang paling aktif.
Jika pembicara aktif jarak jauh tidak berubah, SDK tidak memicu callback
onActiveSpeakerlagi.Jika pembicara aktif jarak jauh berubah, SDK memicu callback lagi dan melaporkan UID pembicara aktif jarak jauh yang baru.
Deskripsi Metrik
Parameter | Tipe | Deskripsi |
uid | String | UID pembicara. Nilai 0 menunjukkan pembicara lokal. Nilai yang dikembalikan adalah ID pengguna dari pembicara paling keras dalam segmen waktu saat ini, bukan ID pengguna dari pembicara yang paling keras secara instan. |
OnTestAudioVolume
Panggilan balik untuk pengujian pra-panggilan dan informasi volume.
public void OnTestAudioVolume(int volume);Panggilan balik ini melaporkan volume perangkat perekam audio selama pengujian pra-panggilan, sehingga Anda dapat memverifikasi bahwa perangkat perekam audio lokal berfungsi dengan baik. Panggilan balik ini dipicu saat Anda memanggil startAudioCaptureTest untuk melakukan pengujian perangkat audio pra-panggilan.
Deskripsi parameter
Parameter | Type | Deskripsi |
volume | int | Nilai volume. |
onCapturedAudioFrame
Callback untuk data audio mentah yang ditangkap.
boolean onCapturedAudioFrame(AliRtcAudioFrame frame);Callback ini mendapatkan data audio mentah yang ditangkap oleh perangkat saat ini. Callback ini dinonaktifkan secara default. Untuk mendapatkan data audio:
Panggil enableAudioFrameObserver(true,audioSource,config) untuk mengaktifkan callback ini untuk sumber audio tertentu. Parameter config memungkinkan Anda mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis.
Panggil registerAudioFrameObserver untuk mendaftarkan objek yang menerima data audio.
API ini memungkinkan Anda mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis.
Batasan
Jangan melakukan operasi yang memakan waktu lama dalam fungsi callback ini. Hal tersebut dapat menyebabkan masalah audio.
Parameter
Parameter | Tipe | Deskripsi |
frame | Data audio. |
Mengembalikan
true: Operasi berhasil.
false: Operasi gagal.
onProcessCapturedAudioFrame
Callback untuk data audio setelah pemrosesan 3A
boolean onProcessCapturedAudioFrame(AliRtcAudioFrame frame);Anda dapat menggunakan callback ini untuk mendapatkan data audio setelah pemrosesan 3A. Callback ini dinonaktifkan secara default. Untuk mendapatkan data audio:
Aktifkan callback ini menggunakan parameter `audioSource` dalam enableAudioFrameObserver(true, audioSource, config). Parameter `config` memungkinkan Anda mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio.
Panggil registerAudioFrameObserver untuk mendaftarkan objek yang menerima data audio.
API ini memungkinkan Anda mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis.
Batasan penggunaan
Jangan melakukan operasi yang memakan waktu lama dalam fungsi callback ini. Melakukannya dapat menyebabkan masalah audio.
Parameter
Parameter | Tipe | Deskripsi |
frame | Data audio. |
Mengembalikan
true: Operasi berhasil.
false: Operasi gagal.
onPublishAudioFrame
Callback data audio untuk pengambilan aliran
boolean onPublishAudioFrame(AliRtcAudioFrame frame);Anda dapat menggunakan callback ini untuk mendapatkan data audio untuk pengambilan aliran. Callback ini dinonaktifkan secara default. Untuk mendapatkan data audio ini:
Aktifkan callback ini menggunakan parameter audioSource dalam enableAudioFrameObserver(true,audioSource,config). Anda dapat menggunakan parameter config untuk mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis.
Panggil registerAudioFrameObserver untuk mendaftarkan objek yang menerima data audio.
Anda dapat mengatur laju sampel dan jumlah saluran suara. Namun, mode harus diatur ke hanya baca (read only).
Batasan penggunaan
Jangan melakukan operasi yang memakan waktu lama dalam fungsi callback ini. Hal tersebut dapat menyebabkan masalah audio.
Parameter
Parameter | Tipe | Deskripsi |
frame | Data audio. |
Nilai kembali
true: Operasi berhasil.
false: Operasi gagal.
onPlaybackAudioFrame
Panggilan balik data pemutaran
boolean onPlaybackAudioFrame(AliRtcAudioFrame frame);Fungsi panggilan balik ini mengambil data audio pemutaran. Panggilan balik ini dinonaktifkan secara default. Untuk mengambil data audio:
Aktifkan panggilan balik ini melalui parameter audioSource dalam enableAudioFrameObserver(true,audioSource,config). Parameter config memungkinkan Anda mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio.
Panggil registerAudioFrameObserver untuk mendaftarkan objek penerima data audio.
API ini memungkinkan Anda mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis.
Batasan pemanggilan
Jangan melakukan operasi yang memakan waktu lama dalam fungsi panggilan balik ini. Jika tidak, masalah audio dapat terjadi.
Parameter
Parameter | Tipe | Deskripsi |
frame | AliRtcAudioFrame | Data audio. |
Nilai kembalian
true: Sukses.
false: Gagal.
onRemoteUserAudioFrame
Callback untuk data audio pengguna jarak jauh
boolean onRemoteUserAudioFrame(String uid, AliRtcAudioFrame frame);Fungsi callback ini mengambil data audio dari pengguna jarak jauh tertentu. Callback ini dinonaktifkan secara default. Untuk mengambil data audio:
Panggil enableAudioFrameObserver(true, audioSource, config) untuk mengaktifkan callback ini. Parameter config memungkinkan Anda mengatur properti data audio, seperti laju sampel, jumlah saluran suara, dan mode baca/tulis.
Panggil registerAudioFrameObserver untuk mendaftarkan observer frame audio.
Anda tidak dapat mengatur laju sampel atau jumlah saluran suara untuk data audio jarak jauh yang diperoleh melalui callback ini. Anda hanya dapat mengatur mode baca/tulis.
Keterbatasan
Jangan melakukan operasi yang memakan waktu dalam fungsi callback ini. Jika tidak, masalah audio dapat terjadi.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna. |
frame | Data audio. |
Mengembalikan
true: Sukses.
false: Gagal.
OnDestroyCompletion
Callback yang dipanggil saat engine dihancurkan.
void OnDestroyCompletion();Callback ini menunjukkan bahwa instans mesin SDK telah dihancurkan. Anda kemudian dapat membuat instans baru.
Ketika dipicu
Callback ini dipicu setelah metode destroy[2/2] dipanggil dan engine dihancurkan.
onTextureCreate
Callback yang dipanggil saat konteks OpenGL dibuat.
void onTextureCreate(long context);Callback ini dipicu ketika SDK membuat konteks OpenGL internalnya.
Kondisi Pemicu
Callback ini dipicu ketika SDK membuat konteks OpenGL internalnya. Anda dapat menggunakan callback ini untuk menginisialisasi sumber daya terkait.
Parameter
Parameter | Tipe | Deskripsi |
context | long | Konteks OpenGL. |
onTextureUpdate
Callback pembaruan tekstur OpenGL.
int onTextureUpdate(int textureId, int width, int height, AliRtcVideoSample videoSample);Ketika dipicu
Callback ini dipicu setelah setiap frame video diunggah ke tekstur OpenGL. Ketika pengamat eksternal didaftarkan untuk data tekstur OpenGL, callback ini memungkinkan Anda memproses tekstur tersebut dan mengembalikan ID tekstur yang telah diproses.
Parameter
Parameter | Tipe | Deskripsi |
textureId | int | Konteks OpenGL. |
width | int | Lebar video. |
height | int | Tinggi video. |
videoSample | Data frame video. |
Mengembalikan
Mengembalikan ID tekstur baru atau ID tekstur asli. Jika nilai <0 dikembalikan, ID tekstur dianggap tidak berubah.
onTextureDestroy
void onTextureDestroy();Kondisi Pemicu
Callback ini dipicu ketika konteks OpenGL di dalam SDK dihapus. Anda dapat menggunakan callback ini untuk membersihkan sumber daya terkait.
onLocalVideoSample
Callback untuk data video yang ditangkap secara lokal.
public boolean onLocalVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);Anda dapat menggunakan callback ini untuk mendapatkan frame video mentah, seperti data YUV, dari kamera lokal. Anda dapat menerapkan logika pemrosesan video kustom, seperti menambahkan filter, Watermark, atau Transkoding. Setelah diproses, Anda dapat memutuskan apakah akan mengembalikan data tersebut ke SDK untuk encoding atau rendering. Jika Anda ingin mengirim video yang telah diproses ke SDK, kembalikan nilai true.
Kapan dipicu
Setelah Anda berhasil memanggil <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="22a5a6bd53c77">registerVideoSampleObserver</a> untuk mendaftarkan observer data video, SDK akan menangkap frame video yang sesuai.
Parameter
Parameter | Tipe | Deskripsi |
sourceType | Tipe sumber video. | |
videoSample | Data video. |
Nilai kembalian
true: Data dikembalikan ke SDK. Ini adalah nilai default. Anda harus mengembalikan true jika Anda memodifikasi objek AliRtcVideoSample.data.
false: Data tidak dikembalikan ke SDK. Anda harus mengembalikan false jika Anda langsung memodifikasi objek AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU, dan AliRtcVideoSample.dataFrameV.
onPreEncodeVideoSample
Sebuah callback untuk data video lokal sebelum pengodean.
public boolean onPreEncodeVideoSample(AliRtcVideoSourceType sourceType, AliRtcVideoSample videoRawData);Callback ini dipicu sebelum kit pengembangan perangkat lunak (SDK) mengkodekan sebuah frame video. Callback ini menyediakan data video mentah, seperti data dalam format YUV. Hal ini memungkinkan Anda menerapkan pemrosesan khusus, seperti menambahkan Watermark, menyesuaikan warna, atau Transkoding. Nilai boolean yang Anda kembalikan dari callback ini menentukan apakah data yang telah diproses dikirim kembali ke SDK untuk dikodekan.
Parameter
Parameter | Tipe | Deskripsi |
sourceType | Jenis aliran video. | |
videoRawData | Data video mentah. |
Nilai kembalian
true: Data ditulis kembali ke SDK. Ini adalah nilai default. Anda harus mengembalikan true jika Anda memodifikasi anggota AliRtcVideoSample.data.
false: Data tidak ditulis kembali ke SDK. Anda harus mengembalikan false jika Anda langsung memodifikasi anggota AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU, atau AliRtcVideoSample.dataFrameV.
onRemoteVideoSample
Callback untuk data video jarak jauh yang telah berlangganan.
public boolean onRemoteVideoSample(String callId,AliRtcVideoSourceType sourceType, AliRtcVideoSample videoSample);Callback ini menyediakan data frame video mentah dari pengguna jarak jauh yang telah berlangganan. Data tersebut umumnya dalam format seperti YUV. Anda dapat menggunakan callback ini untuk menerapkan logika pemrosesan kustom, seperti menambahkan filter, Watermark, atau Transkoding. Selanjutnya, Anda dapat memutuskan apakah akan mengembalikan data yang telah diproses ke SDK untuk rendering.
Parameter
Parameter | Tipe | Deskripsi |
callId | String | ID pengguna. |
sourceType | Tipe aliran video. | |
videoSample | Data video mentah. |
Nilai kembalian
true: Data ditulis kembali ke SDK. Ini adalah perilaku default. Anda harus mengembalikan true jika Anda memodifikasi parameter AliRtcVideoSample.data.
false: Data tidak ditulis kembali ke SDK. Anda harus mengembalikan nilai ini jika Anda langsung memodifikasi parameter AliRtcVideoSample.dataFrameY, AliRtcVideoSample.dataFrameU, atau AliRtcVideoSample.dataFrameV.
onGetVideoFormatPreference
Format keluaran untuk data video.
public AliRtcVideoFormat onGetVideoFormatPreference();Nilai kembalian
Format keluaran video yang diinginkan.
onGetObservedFramePosition
Keluaran data video
public int onGetObservedFramePosition();Anda dapat mengimplementasikan callback ini untuk menentukan tahap pemrosesan frame video yang akan diamati. SDK memicu callback ini untuk menentukan tahap yang diinginkan. Tahap-tahap tersebut mencakup setelah pengambilan (capture), sebelum pengkodean (encoding), dan setelah penarikan aliran (stream pulling).
Returns
Tahap pemrosesan yang diinginkan. Anda harus mengembalikan nilai enumerasi dari AliRtcVideoObserPosition. Nilai tersebut merepresentasikan tahap data, seperti data yang telah ditangkap, data dari aliran yang ditarik, atau data sebelum pengkodean.
onPublishLiveStreamStateChanged
Dipanggil ketika status aliran langsung bypass berubah.
public void onPublishLiveStreamStateChanged(String streamUrl, AliRtcLiveTranscodingState state, AliEngineLiveTranscodingErrorCode errorCode);Parameter
Parameter | Tipe | Deskripsi |
streamUrl | String | URL ingest. |
state | Status aliran langsung bypass. | |
errorCode | Kode kesalahan. |
onPublishTaskStateChanged
Panggilan balik ini dipicu ketika status tugas bypass berubah.
public void onPublishTaskStateChanged(String streamUrl, AliRtcTrascodingPublishTaskStatus state);Parameter
Parameter | Tipe | Deskripsi |
streamUrl | String | URL ingest. |
state | Status tugas pengambilan aliran bypass. |
onNetworkQualityChanged
Pemicu balik ini dijalankan ketika kualitas jaringan berubah.
public void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna. Jika parameter ini kosong, pemicu balik melaporkan kualitas jaringan uplink dan downlink pengguna lokal. |
upQuality | Kualitas jaringan uplink. | |
downQuality | Kualitas jaringan downlink. |
onNetworkQualityProbeTest
Callback untuk probe kualitas jaringan. Callback ini dipicu sekitar 3 detik setelah probe dimulai.
public void onNetworkQualityProbeTest(AliRtcNetworkQuality quality){}Parameter
Parameter | Tipe | Deskripsi |
quality | Kualitas jaringan. |
onNetworkQualityProbeTestResult
Pemicu balik ini diaktifkan untuk melaporkan hasil pengujian kualitas jaringan sekitar 30 detik setelah pengujian dimulai.
public void onNetworkQualityProbeTestResult(int code, AliRtcEngine.AlirtcNetworkQualityProbeResult result){}Parameter
Parameter | Tipe | Deskripsi |
code | int | Nilai kembali. Nilai 0 menunjukkan bahwa pengujian berhasil. Nilai -1 menunjukkan bahwa pengujian gagal karena koneksi terputus akibat kualitas jaringan yang buruk. |
result | Kualitas jaringan. |
onSnapshotComplete
Callback ini dipanggil ketika proses pengambilan Snapshot selesai.
public void onSnapshotComplete(String userId, AliRtcVideoTrack trackType, Bitmap bitmap, boolean success)Callback ini menyediakan hasil dan detail dari Snapshot tersebut.
Parameter
Parameter | Tipe | Deskripsi |
userId | String | ID pengguna. |
trackType | Jenis aliran video untuk Snapshot tersebut. | |
bitmap | Bitmap | Data snapshot. |
success | boolean | Menunjukkan apakah snapshot berhasil. |
onScreenSharePublishStateChanged
Panggilan balik ini dipicu ketika status penerbitan aliran berbagi layar berubah.
public void onScreenSharePublishStateChanged(AliRtcEngine.AliRtcPublishState oldState , AliRtcEngine.AliRtcPublishState newState, int elapseSinceLastState, String channel)Panggilan balik ini memberi tahu aplikasi mengenai perubahan status penerbitan aliran berbagi layar.
Parameters
Parameter | Tipe | Deskripsi |
oldState | AliRtcEngine.AliRtcPublishState | Status pengambilan aliran sebelumnya. |
newState | AliRtcEngine.AliRtcPublishState | Status pengambilan aliran baru. |
elapseSinceLastState | int | Waktu yang telah berlalu sejak perubahan status terakhir, dalam milidetik. |
channel | String | Nama saluran saat ini. |
onScreenShareSubscribeStateChanged
Memberikan laporan perubahan pada status langganan aliran berbagi layar.
public void onScreenShareSubscribeStateChanged(String uid,
AliRtcEngine.AliRtcSubscribeState oldState,
AliRtcEngine.AliRtcSubscribeState newState,
int elapseSinceLastState, String channel);Pemicu balikan ini diaktifkan ketika status langganan pengguna lokal terhadap aliran berbagi layar jarak jauh berubah.
Parameter
Parameter | Tipe | Deskripsi |
uid | String | ID pengguna remote. |
oldState | AliRtcEngine.AliRtcSubscribeState | Status langganan sebelumnya. |
newState | AliRtcEngine.AliRtcSubscribeState | Status langganan saat ini. |
elapseSinceLastState | int | Waktu yang telah berlalu sejak perubahan status terakhir, dalam milidetik. |
channel | String | Saluran saat ini. |
onOccurError
Notifikasi kesalahan.
public void onOccurError(int error, String message);SDK Alibaba Real-Time Communication (ARTC) memicu callback kesalahan global ini untuk memberi tahu lapisan aplikasi ketika terjadi kesalahan kritis di dalam mesin DPI internal. Anda dapat menggunakan callback ini untuk mendapatkan kode kesalahan dan pesan kesalahan guna penanganan eksepsi, pencatatan log, atau prompt kepada pengguna.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
error | int | Jenis kesalahan. Untuk informasi selengkapnya, lihat daftar kode kesalahan. |
message | String | Pesan kesalahan. |
OnLocalAudioStateChanged
Callback untuk perubahan status perangkat audio lokal.
public void OnLocalAudioStateChanged(int state);Callback ini dipicu ketika status perangkat pengambilan audio lokal berubah, misalnya setelah Anda memanggil startAudioCapture atau stopAudioCapture.
Parameters
Parameter | Tipe | Deskripsi |
state | int |
|
setParameter
Menetapkan 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
Anda dapat mendaftarkan objek pengamat volume audio.
public abstract void registerAudioVolumeObserver(AliRtcAudioVolumeObserver observer);Metode ini mendaftarkan pengamat yang menerima data volume audio. Untuk membatalkan pendaftaran pengamat tersebut, panggil unRegisterAudioVolumeObserver.
Kapan harus memanggil
Untuk mendapatkan informasi volume, Anda perlu memanggil
<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 mendaftarkan objek untuk menerima data terkait.Saat Anda memanggil
<a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#ae07dc986abf3" id="29e92857a5iv8">startAudioCaptureTest</a>untuk menguji perangkat audio Anda sebelum bergabung dalam rapat, Anda dapat memanggil antarmuka 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 pengamat yang menerima data volume audio. |
unRegisterAudioVolumeObserver
Membatalkan pendaftaran pengamat volume audio.
public abstract void unRegisterAudioVolumeObserver();Metode ini merupakan pasangan dari registerAudioVolumeObserver.
Kapan memanggil metode ini
Setelah memanggil registerAudioVolumeObserver, panggil metode ini untuk membatalkan pendaftaran pengamat volume audio.
enableAudioFrameObserver
Anda dapat mengatur parameter callback audio.
public abstract int enableAudioFrameObserver(boolean enable, AliRtcAudioSource audioSource, AliRtcAudioFrameObserverConfig config);Panggil metode ini untuk mengaktifkan atau menonaktifkan callback untuk jenis data audio tertentu. Hal ini memungkinkan Anda mengambil data audio mentah dan terenkripsi. Callback dinonaktifkan secara default.
Untuk mengaktifkan callback data audio untuk AliRtcAudioSource tertentu, panggil metode registerAudioFrameObserver, dengan menentukan objek yang menerima data audio tersebut.
Kapan harus memanggil
Anda dapat memanggil metode ini untuk mengambil data audio.
Parameter
Parameter | Tipe | Deskripsi |
enable | boolean | Menentukan apakah akan mengaktifkan callback data audio. |
audioSource | Jenis sumber data untuk callback. Termasuk pasca-pengambilan (0), pasca-pemrosesan 3A (1), stream ingest (2), pemutaran (3), pasca-pencampuran aliran stream ingest dan pemutaran (4), serta data audio aliran yang ditarik (5). Catatan
| |
config | Parameter callback audio. Parameter ini mencakup laju sampel, jumlah saluran suara, dan mode callback (read-only, write-only, atau read/write). Jika parameter ini diatur ke null, pengaturan default digunakan: laju sampel 48000, satu saluran suara, dan mode ReadOnly. |
Pengembalian
0: Pemanggilan metode berhasil.
<0: Pemanggilan metode gagal.
registerAudioFrameObserver
Anda dapat mendaftarkan callback data audio.
public abstract void registerAudioFrameObserver(AliRtcAudioFrameObserver observer);Metode ini mendaftarkan sebuah objek untuk callback audio.
Kapan harus dipanggil
Panggil metode ini untuk mendaftarkan objek yang menerima data audio dari callback SDK. SDK memicu callback, seperti onCapturedAudioFrame, onProcessCapturedAudioFrame, onPublishAudioFrame, onPlaybackAudioFrame, dan onRemoteUserAudioFrame, untuk menyediakan berbagai jenis data audio. Untuk membatalkan pendaftaran objek tersebut, panggil kembali metode ini dan berikan null.
Batasan
Panggil enableAudioFrameObserver untuk mengaktifkan callback untuk AliRtcAudioSource tertentu. Jika tidak, observer yang ditentukan tidak akan menerima data.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
observer | Instans objek yang menerima callback data audio. Berikan null untuk membatalkan pendaftaran objek. |
registerVideoSampleObserver
Anda dapat mendaftarkan objek keluaran data video.
public abstract void registerVideoSampleObserver(AliVideoObserver observer);Anda dapat menggunakan metode ini untuk mendaftarkan objek keluaran data video. Untuk membatalkan pendaftaran objek tersebut, panggil metode unRegisterVideoSampleObserver.
Kapan harus memanggil
Untuk memperoleh data video mentah, seperti data dalam format YUV atau RGBA, panggil metode ini untuk mendaftarkan observer data video. Observer tersebut menyediakan data video pada berbagai tahap. `AliRtcVideoObserver` adalah kelas observer data video.
Callback Terkait
Setelah Anda mendaftarkan observer keluaran data video, SDK menangkap setiap frame video dan memicu callback dalam antarmuka `AliRtcVideoObserver`. Anda dapat mengimplementasikan callback ini sesuai kebutuhan:
onLocalVideoSample: Callback untuk menerima data video yang ditangkap secara lokal.
onRemoteVideoSample: Callback untuk menerima data video jarak jauh.
onPreEncodeVideoSample: Callback untuk menerima data video lokal sebelum pengkodean.
Parameter
Parameter | Tipe | Deskripsi |
observer | Objek keluaran data video. |
Mengembalikan
Callback AliVideoObserver menyediakan data keluaran.
unRegisterVideoSampleObserver
Anda dapat membatalkan pendaftaran objek keluaran data video.
public abstract void unRegisterVideoSampleObserver();API ini merupakan pasangan dari API <a baseurl="t2309760_v6_0_0.xdita" data-node="4086566" data-root="16090" data-tag="xref" href="#927fcde6fenlk" id="dcf635790da7v">registerVideoSampleObserver</a> dan membatalkan pendaftaran objek observer yang mengekspor data video.
registerLocalVideoTextureObserver
Anda dapat mendaftarkan observer untuk data tekstur OpenGL dari aliran video kamera lokal.
public abstract void registerLocalVideoTextureObserver(AliTextureObserver observer);Jika Anda ingin mengambil data tekstur internal, panggil metode ini. Untuk membatalkan pendaftaran observer, panggil metode unRegisterLocalVideoTextureObserver. Jika Anda ingin mengambil data video mentah sebagai gantinya, panggil metode <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.
Metode ini hanya berfungsi dengan aliran video kamera lokal.
Callback terkait
Setelah Anda mendaftarkan observer, SDK memicu callback dalam antarmuka AliRtcTextureObserver untuk setiap frame video yang ditangkap. Implementasikan callback yang sesuai sesuai kebutuhan:
onTextureCreate: Callback ini dipicu ketika SDK membuat konteks OpenGL internalnya.
onTextureUpdate: Callback ini dipicu setelah setiap frame video diunggah ke tekstur OpenGL. Jika observer eksternal untuk data tekstur OpenGL telah didaftarkan, Anda dapat memproses tekstur tersebut dalam callback ini. Callback harus mengembalikan ID tekstur yang valid. Jika Anda tidak melakukan pemrosesan apa pun, kembalikan parameter textureId.
onTextureDestroy: Callback ini dipicu ketika SDK menghapus konteks OpenGL internalnya.
Parameter
Parameter | Tipe | Deskripsi |
observer | Pengamat untuk data tekstur OpenGL. |
Nilai kembali
Data keluaran dikembalikan dalam callback yang Anda implementasikan dalam antarmuka AliVideoObserver.
unRegisterLocalVideoTextureObserver
Membatalkan pendaftaran observer untuk data tekstur OpenGL dari aliran kamera lokal.
public abstract void unRegisterLocalVideoTextureObserver();Metode ini merupakan pasangan dari registerLocalVideoTextureObserver.
snapshotVideo
Fitur snapshot video
public abstract int snapshotVideo(String userId, AliRtcVideoTrack trackType);Anda dapat memanggil metode ini untuk mengambil snapshot dari aliran video pengguna tertentu.
Batasan
Metode ini merupakan operasi asinkron. Nilai kembali 0 menunjukkan bahwa pemanggilan metode berhasil, tetapi tidak berarti SDK telah mengambil snapshot tersebut.
Callbacks
Setelah memanggil metode ini, dengarkan callback onSnapshotComplete untuk memverifikasi keberhasilan snapshot dan mengambil detailnya.
Parameter
Parameter | Tipe | Deskripsi |
userId | String | ID pengguna. Jika userId adalah null atau string kosong (""), snapshot dari pengguna lokal akan diambil. |
trackType | Jenis aliran video yang akan diambil. Hanya tipe berikut yang didukung:
|
Mengembalikan
0: Pemanggilan metode berhasil. Hasil operasi snapshot dikembalikan dalam callback onSnapshotComplete.
Nilai bukan nol: Pemanggilan metode gagal. Nilai tersebut merupakan kode kesalahan.
setLogDirPath
Anda dapat mengatur jalur penyimpanan untuk file log SDK.
public static int setLogDirPath(String logDirPath);Parameter
Parameter | Tipe | Deskripsi |
logDirPath | String | Jalur mutlak untuk menyimpan file log. Jalur default adalah folder aplikasi. |
Pengembalian
Metode ini mengembalikan nilai 0 jika berhasil dan nilai bukan nol jika gagal. Catatan: Untuk mencegah kehilangan log, panggil metode ini sebelum memanggil metode SDK lainnya. Pastikan jalur yang ditentukan ada dan dapat ditulis.
setLogLevel
Menetapkan tingkat log.
public static void setLogLevel(AliRtcLogLevel logLevel);Parameter
Parameter | Tipe | 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
Antarmuka ini hanya tersedia di Android dan iOS.
Parameter
Parameter | Tipe | Deskripsi |
mode | AliRtcOrientationMode | Orientasi perangkat. |
Mengembalikan
Tidak ada.
requestAudioFocus
Meminta fokus audio.
public abstract int requestAudioFocus();Kapan harus memanggil
SDK secara otomatis meminta fokus audio saat mulai berjalan, sehingga Anda tidak perlu memanggil metode ini dalam sebagian besar kasus. Namun, jika sebelumnya Anda telah memanggil abandonAudioFocus, Anda harus memanggil metode ini untuk mendapatkan kembali fokus audio.
Keterbatasan
Metode ini hanya untuk Android.
Parameter
Tidak ada.
Nilai yang dikembalikan
0: Permintaan gagal.
1: Permintaan berhasil.
abandonAudioFocus
Melepaskan fokus audio.
public abstract int abandonAudioFocus();Kapan harus memanggil
SDK memanggil metode ini secara internal untuk melepas fokus audio saat SDK dihancurkan (destroyed). Dalam beberapa skenario, Anda mungkin juga perlu memanggil metode ini secara manual. Setelah fokus audio dilepas, beberapa perangkat mungkin mengalami pemutaran senyap atau volume rendah. Untuk memulihkan audio, panggil requestAudioFocus.
Batasan
Metode ini hanya untuk Android.
Mengembalikan
0: Gagal.
1: Sukses.
getNetworkTime
Mengambil waktu jaringan saat ini.
public abstract long getNetworkTime();Metode ini mengambil waktu jaringan saat ini dalam milidetik (ms). Waktu jaringan adalah stempel waktu saat ini, yang telah dikalibrasi menggunakan Network Time Protocol (NTP) dan disesuaikan dengan offset waktu.
Kapan harus memanggil
Panggil metode ini untuk mendapatkan garis dasar waktu jaringan. Anda dapat menggunakan waktu ini untuk mengkalibrasi waktu lokal saat menyinkronkan perilaku di beberapa perangkat.
Mengembalikan
Waktu NTP saat ini dalam milidetik.
sendDataChannelMsg
Anda dapat mengirim pesan saluran data kustom.
public abstract int sendDataChannelMsg(AliRtcDataChannelMsg Msg);Kit pengembangan perangkat lunak (SDK) ApsaraVideo Real-time Communication (ARTC) memungkinkan Anda mengirim dan menerima pesan kustom. Anda dapat menggunakan fitur ini untuk mengirim data real-time kustom, seperti instruksi kontrol atau data sinkronisasi status, selama transmisi audio dan video. Anda dapat memanggil metode ini untuk mengirim pesan kustom. Untuk informasi selengkapnya, lihat Kirim dan terima pesan kustom.
Saluran pesan kustom dinonaktifkan secara default. Untuk mengaktifkan fitur ini, panggil API
setParameterdan berikan `"{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}"`. Anda dapat melakukan hal ini baik sebelum maupun setelah bergabung ke saluran.Pesan dapat berisi data apa pun, seperti teks atau citra.
Callback Terkait
Callback onRemoteUserSubscribedDataChannel dipicu ketika pengguna jarak jauh berlangganan ke saluran data. Callback ini menunjukkan bahwa Anda dapat mengirim pesan saluran data kepada pengguna tersebut.
Setelah pengirim mengaktifkan saluran pesan kustom, mereka dapat memanggil metode ini untuk mengirim pesan kustom. Penerima menerima pesan tersebut dengan mendengarkan callback onDataChannelMessage.
Kapan harus memanggil
Anda dapat memanggil metode ini setelah menerima callback onRemoteUserSubscribedDataChannel. Callback ini dipicu ketika pengguna jarak jauh memanggil metode setParameter untuk mengaktifkan langganan saluran data.
Batasan Pemanggilan
Peran Streamer memungkinkan pengguna mengirim dan menerima pesan. Peran viewer hanya terbatas pada menerima pesan.
Panggil setParameter untuk mengaktifkan saluran pesan kustom.
Deskripsi Parameter
Parameter | Tipe | Deskripsi |
Msg | Isi pesan. |
Nilai kembali
0: Pemanggilan berhasil.
Nilai lainnya: Pemanggilan gagal. Nilai tersebut merupakan kode kesalahan.
startScreenShare
API ini sudah tidak digunakan lagi. Sebagai gantinya, gunakan API startScreenShare yang baru.
Metode ini memulai berbagi layar dan aliran audio.
public abstract int startScreenShare(Intent intent);Parameter
Nama | Deskripsi |
intent | Intent untuk Activity berbagi layar. Jika Anda tidak membuat Activity secara eksternal, berikan nilai null. Kami menyarankan agar Anda memberikan nilai null. |
Nilai pengembalian
0: Berhasil.
Nilai lainnya: Gagal.
startScreenShare
Metode ini sudah tidak digunakan lagi. Gunakan metode startScreenShare yang baru sebagai gantinya.
Memulai berbagi layar.
public abstract int startScreenShare();Nilai kembalian
0: Berhasil
Lainnya: Gagal
startScreenShare
Memulai berbagi layar sebagai aliran video.
public abstract int startScreenShare(Intent intent, AliRtcScreenShareMode screenShareMode);Parameter
Nama | Deskripsi |
intent | Aktivitas yang digunakan untuk memulai berbagi layar. Jika Anda tidak membuat aktivitas ini, teruskan null. Disarankan untuk meneruskan null. |
screenShareMode | Mode berbagi layar. Untuk informasi selengkapnya, lihat AliRtcScreenShareMode. |
Nilai kembali
0: Berhasil
Lainnya: Gagal
stopScreenShare
Menghentikan aliran berbagi layar dan aliran audio terkait.
public abstract int stopScreenShare();Nilai kembali
0: Sukses
Lainnya: Gagal
setAudioShareVolume
Anda dapat mengatur volume aliran audio untuk pengambilan aliran.
public abstract int setAudioShareVolume(int volume);Parameter
Nama | Deskripsi |
volume | Tingkat volume. Nilai berkisar dari 0 hingga 100. Nilai default adalah 50. |
Nilai kembali
0: Menunjukkan keberhasilan.
Nilai lainnya: Menunjukkan kegagalan.
isScreenSharePublished
Memeriksa apakah aliran berbagi layar telah dipublikasikan.
public abstract boolean isScreenSharePublished();Nilai kembalian
true: Aliran berbagi layar telah diterbitkan.
false: Aliran berbagi layar belum dipublikasikan.
setScreenShareEncoderConfiguration
Anda dapat mengonfigurasi properti pengkodean video untuk aliran layar.
public abstract void setScreenShareEncoderConfiguration(AliRtcScreenShareEncoderConfiguration config);Metode ini menetapkan parameter video untuk aliran berbagi layar, seperti resolusi, laju frame, bitrate, dan orientasi.
SDK secara otomatis menyesuaikan parameter apa pun yang ditetapkan di luar rentang validnya. Konfigurasi akhir mungkin berbeda dari pengaturan Anda.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung dalam rapat. Jika Anda ingin menetapkan properti pengkodean aliran berbagi layar hanya sekali per rapat, panggil metode ini sebelum bergabung.
Parameter
Parameter | Tipe | Deskripsi |
config | Properti pengkodean yang telah ditentukan sebelumnya untuk berbagi layar, seperti resolusi, laju frame, bitrate, dan orientasi video. |