Topik ini menjelaskan antarmuka SDK Windows ApsaraVideo Real-time Communication.
Daftar isi
API Dasar
API | Deskripsi |
Membuat instance singleton AliRtcEngine. | |
Menghapus instans AliRtcEngine. | |
Mendapatkan instans antarmuka fitur. | |
Menetapkan mode kompatibilitas H5. | |
Memeriksa apakah mode kompatibilitas H5 diaktifkan. | |
Menetapkan callback listener event. | |
Mendapatkan nomor versi SDK saat ini. |
API Saluran
API | Deskripsi |
Menetapkan profil saluran. | |
Menetapkan profil audio. | |
Memeriksa apakah mode saat ini hanya audio. | |
Menetapkan mode ke hanya audio atau audio dan video. | |
Bergabung dengan saluran. | |
Bergabung dengan saluran. | |
Bergabung dengan saluran. | |
Keluar dari saluran. | |
Memeriksa apakah pengguna berada di saluran. | |
Menetapkan peran pengguna. | |
Mendapatkan peran pengguna. | |
Memperbarui informasi autentikasi. | |
Memperbarui informasi autentikasi. |
API Publikasi dan Berlangganan
API | Deskripsi |
Menetapkan apakah akan mempublikasikan aliran audio lokal. Secara default, aliran audio dipublikasikan. | |
Memeriksa apakah aliran audio lokal dipublikasikan. | |
Menetapkan apakah akan berlangganan ke semua aliran audio jarak jauh secara default. Secara default, semua aliran audio jarak jauh berlangganan. Panggil API ini sebelum Anda bergabung ke saluran. | |
Menghentikan atau melanjutkan menarik aliran audio dari pengguna jarak jauh tertentu. | |
Menghentikan atau melanjutkan menerima semua aliran audio jarak jauh. | |
Menetapkan apakah akan mempublikasikan aliran video lokal. | |
Memeriksa apakah aliran video lokal dipublikasikan. | |
Menetapkan apakah akan berlangganan ke semua aliran video jarak jauh secara default. Secara default, semua aliran video jarak jauh berlangganan. Panggil API ini sebelum Anda bergabung ke saluran. | |
Menghentikan atau melanjutkan berlangganan aliran video dari pengguna jarak jauh. | |
Menghentikan atau melanjutkan menerima semua aliran video jarak jauh. | |
Menghentikan atau melanjutkan berlangganan aliran media dari pengguna jarak jauh tertentu. Gunakan API ini ketika Anda perlu mengontrol aliran audio dan video pengguna tersebut. | |
Menghentikan atau melanjutkan berlangganan aliran media dari pengguna jarak jauh tertentu. Gunakan API ini ketika Anda perlu mengontrol aliran audio dan video pengguna tersebut. | |
Menghentikan atau melanjutkan berlangganan ke aliran media pengguna jarak jauh tertentu di saluran lain. | |
Menyesuaikan volume pemutaran lokal pengguna jarak jauh tertentu. |
API Manajemen Perangkat Audio
API | Deskripsi |
Mematikan atau mengaktifkan kembali aliran audio lokal. | |
Menghentikan atau melanjutkan memutar aliran audio jarak jauh. | |
Menghentikan atau melanjutkan memutar semua aliran audio jarak jauh. | |
Memulai penangkapan audio. | |
Memulai penangkapan audio. | |
Menghentikan penangkapan audio. | |
Mengaktifkan fitur deteksi volume. | |
Memulai perangkat pemutaran audio. | |
Menghentikan pemutaran audio. | |
Menetapkan volume pemutaran. | |
Menetapkan volume perekaman. | |
Memainkan file audio. | |
Menghentikan pemutaran file audio. | |
Memulai tes penangkapan audio sebelum panggilan. | |
Menghentikan tes penangkapan audio. | |
Mengaktifkan atau menonaktifkan publikasi audio sistem. | |
Memeriksa apakah audio sistem sedang dipublikasikan. | |
Menetapkan volume audio sistem yang dipublikasikan. | |
Mendapatkan volume audio sistem yang dipublikasikan. | |
Menetapkan volume pemutaran audio sistem. | |
Mendapatkan volume pemutaran audio sistem saat ini. | |
Mendapatkan daftar perangkat penangkapan audio. | |
Mendapatkan nama perangkat penangkapan audio saat ini. | |
Mendapatkan ID perangkat penangkapan audio saat ini. | |
Menetapkan perangkat penangkapan audio saat ini berdasarkan namanya. | |
Menetapkan perangkat penangkapan audio saat ini berdasarkan ID-nya. | |
Mendapatkan daftar perangkat pemutaran audio. | |
Mendapatkan daftar perangkat pemutaran audio sistem. | |
Mendapatkan nama perangkat pemutaran audio saat ini. | |
Mendapatkan ID perangkat pemutaran audio saat ini. | |
Menetapkan perangkat pemutaran saat ini berdasarkan namanya. | |
Menetapkan perangkat pemutaran saat ini berdasarkan ID-nya. | |
Menetapkan volume perangkat penangkapan audio. | |
Mendapatkan volume perangkat penangkapan audio. | |
Menetapkan volume perangkat pemutaran audio. | |
Mendapatkan volume perangkat pemutaran audio. | |
Menetapkan status bisu perangkat penangkapan audio. | |
Mendapatkan status bisu perangkat penangkapan audio. | |
Menetapkan status bisu perangkat pemutaran audio. | |
Mendapatkan status bisu perangkat pemutaran audio. |
Pengubahan Suara dan Gema Audio
API | Deskripsi |
Menetapkan mode pengubah suara. | |
Menetapkan parameter pitch. | |
Menetapkan mode efek gema. | |
Menetapkan jenis dan parameter efek gema. |
Input audio kustom
API | Deskripsi |
Menambahkan aliran audio eksternal. | |
Memasukkan data aliran audio eksternal. | |
Menetapkan volume ingest aliran. | |
Mendapatkan volume ingest aliran. | |
Menetapkan volume pemutaran aliran audio eksternal. | |
Mendapatkan volume pemutaran aliran audio eksternal. | |
Menghapus aliran audio eksternal. |
Pendampingan audio
API | Deskripsi |
Mendapatkan informasi file audio. | |
Memulai pencampuran akompanimen audio. | |
Menghentikan pencampuran akompanimen audio. | |
Menetapkan volume akompanimen audio. | |
Menetapkan volume ingest aliran akompanimen audio. | |
Mendapatkan volume ingest aliran akompanimen audio. | |
Menetapkan volume pemutaran lokal akompanimen audio. | |
Mendapatkan volume pemutaran lokal akompanimen audio. | |
Menjeda pencampuran akompanimen audio. | |
Melanjutkan pencampuran akompanimen audio. | |
Mendapatkan durasi file akompanimen audio dalam milidetik. | |
Mendapatkan progres pemutaran file akompanimen audio dalam milidetik. | |
Menetapkan posisi pemutaran file akompanimen audio. |
File efek suara
API | Deskripsi |
Memuat terlebih dahulu file efek suara. | |
Membongkar file efek suara yang telah dimuat sebelumnya. | |
Memutar efek suara. | |
Menghentikan pemutaran efek suara. | |
Menghentikan pemutaran semua efek suara. | |
Membekukan efek suara. | |
Membekukan semua efek suara. | |
Melanjutkan efek suara tertentu. | |
Melanjutkan semua efek suara. | |
Menetapkan volume publikasi efek suara. | |
Mendapatkan volume publikasi efek suara. | |
Menetapkan volume publikasi semua efek suara. | |
Menetapkan volume pemutaran efek suara. | |
Mendapatkan volume pemutaran efek suara. | |
Menetapkan volume pemutaran semua efek suara. |
API untuk manajemen perangkat video
API | Deskripsi |
Menetapkan jendela rendering dan parameter gambar untuk pratinjau lokal. | |
Menetapkan preferensi penangkapan kamera. | |
Menonaktifkan atau mengaktifkan kembali penangkapan video lokal. | |
Menetapkan apakah akan berhenti mempublikasikan aliran video lokal. | |
Menetapkan jendela rendering dan parameter gambar untuk video jarak jauh. | |
Memeriksa apakah kamera menyala. | |
Menetapkan properti pengkodean video. | |
Menetapkan properti dekoding video. | |
Memulai pratinjau lokal. | |
Menghentikan pratinjau lokal. | |
Menetapkan mode pencerminan untuk pratinjau dan ingest aliran. | |
Menetapkan mode penskalaan penangkapan untuk menentukan apakah video diskalakan saat penangkapan atau selama pengkodean. | |
Mendapatkan daftar kamera yang tersedia. | |
Mendapatkan nama kamera saat ini. | |
Mendapatkan ID kamera saat ini. | |
Menetapkan kamera dengan nama tertentu sebagai kamera saat ini. | |
Menetapkan kamera dengan ID tertentu sebagai kamera saat ini. | |
Mendapatkan daftar resolusi yang didukung oleh kamera saat ini. |
Konfigurasi callback data video
API | Deskripsi |
Mendaftarkan objek callback data video. | |
Membatalkan pendaftaran objek callback data video. | |
Mengambil tangkapan layar video. |
Konfigurasi callback data audio
API | Deskripsi |
Mendaftarkan callback data audio. | |
Membatalkan pendaftaran callback data audio. | |
Menetapkan parameter callback audio. |
Masukan video kustom
API | Deskripsi |
Mengaktifkan sumber masukan video eksternal. | |
Memasukkan data video. |
Antarmuka Dasar
API | Deskripsi fitur |
Memulai berbagi aliran layar untuk ID desktop tertentu. | |
Memulai berbagi aliran video dari wilayah layar tertentu. | |
Berbagi dan mendorong aliran video, menggunakan jendela yang ditentukan oleh ID-nya sebagai sumber video. | |
Menghentikan berbagi layar. | |
Melanjutkan berbagi layar. | |
Menghentikan sementara berbagi layar. | |
Memeriksa apakah berbagi layar dipublikasikan. | |
Memperbarui konfigurasi berbagi layar. | |
Memeriksa apakah jendela untuk ID jendela berbagi valid. | |
Mengembalikan konfigurasi berbagi layar saat ini. | |
Mengambil daftar objek dari sumber tertentu. | |
Mendapatkan ID sumber berbagi layar saat ini. | |
Mengambil daftar objek dari sumber tertentu. | |
Mendapatkan cakupan berbagi layar untuk ID sumber dan judul sumber tertentu. | |
Menetapkan properti pengkodean video untuk aliran layar. |
Antarmuka terkait saluran
API | Deskripsi fitur |
Memulai aliran langsung bypass. | |
Memperbarui parameter aliran langsung bypass. | |
Menghentikan aliran langsung bypass. | |
Mendapatkan status aliran langsung bypass. | |
Menyelidiki kualitas jaringan sebelum panggilan dimulai. | |
Menghentikan penyelidikan kualitas jaringan sebelum panggilan. |
API penyelidikan kualitas jaringan
API | Deskripsi |
Memulai penyelidikan kualitas jaringan sebelum panggilan. | |
Menghentikan probe kualitas jaringan pra-panggilan. |
SEI
API | Deskripsi |
Mengirim pesan ekstensi media. Fitur ini diimplementasikan secara internal menggunakan Supplemental Enhancement Information (SEI). | |
Mengirim pesan ekstensi media yang diperluas. Fitur ini diimplementasikan secara internal menggunakan SEI. |
API Lainnya
API | Deskripsi |
Menetapkan parameter kustom. | |
Mendapatkan parameter kustom. | |
Menetapkan jalur untuk file log SDK. | |
Menetapkan tingkat log. | |
Mendapatkan waktu linimasa. | |
Mengirim pesan saluran data. |
Antarmuka Publikasi dan Berlangganan
AliEngineEventListener
API | Deskripsi |
Callback untuk status koneksi jaringan. Anda harus menangani callback ini. | |
Callback untuk pengecualian perangkat lokal. Anda harus menangani callback ini. | |
Callback untuk memberi tahu bahwa informasi autentikasi pengguna akan kedaluwarsa dalam 30 detik. Anda harus menangani callback ini. | |
Callback untuk saat server melaporkan bahwa informasi autentikasi telah kedaluwarsa selama pemanggilan API. | |
Callback untuk hasil bergabung dengan saluran. | |
Callback untuk hasil meninggalkan saluran. | |
Notifikasi bahwa pengguna jarak jauh telah offline. | |
Notifikasi bahwa pengguna jarak jauh telah online. | |
Pemberitahuan bahwa track jarak jauh tersedia untuk berlangganan. | |
Pesan bahwa Anda telah dihapus dari saluran oleh server atau saluran telah berakhir. | |
Pemberitahuan perubahan status publikasi audio. | |
Pemberitahuan perubahan status berlangganan audio. | |
Pemberitahuan bahwa pengguna jarak jauh telah membisukan audio mereka. | |
Notifikasi bahwa gangguan perangkat audio telah dimulai. | |
Notifikasi bahwa gangguan perangkat audio telah berakhir. | |
Callback untuk perubahan status publikasi video. | |
Callback untuk perubahan status berlangganan aliran kamera. | |
Pemberitahuan bahwa pengguna jarak jauh mengirim frame video hitam. | |
Pemberitahuan bahwa pengguna jarak jauh telah berhenti menangkap aliran kamera mereka. | |
Callback untuk saat aplikasi pengguna jarak jauh berpindah ke latar belakang. | |
Callback untuk saat aplikasi pengguna jarak jauh kembali ke latar depan. | |
Callback untuk saat pemutaran efek suara lokal selesai. | |
Callback yang menyediakan volume, status aktivitas suara, dan UID dari aliran audio yang berlangganan. | |
Callback untuk deteksi aktivitas suara. Ini dipicu saat pembicara aktif terdeteksi. | |
Callback untuk perubahan status streaming langsung CDN. | |
Callback untuk perubahan status tugas streaming langsung CDN. | |
Callback untuk perubahan kualitas jaringan. | |
Callback untuk penyelidikan kualitas jaringan sebelum panggilan. Callback ini dipicu sekitar 3 detik setelah penyelidikan dimulai. | |
Callback untuk hasil penyelidikan kualitas jaringan sebelum panggilan. Callback ini dipicu sekitar 30 detik setelah penyelidikan dimulai. | |
Callback untuk memberi tahu aplikasi saat terjadi kesalahan di mesin. | |
Callback untuk saat paket audio pertama dikirim. | |
Callback untuk saat paket audio pertama diterima. | |
Callback untuk saat paket video pertama dikirim. | |
Callback untuk saat paket video pertama diterima. | |
Callback untuk saat frame audio jarak jauh pertama didekodekan. | |
Callback untuk saat frame video pertama dari pengguna jarak jauh dirender. | |
Callback untuk saat frame pertama pratinjau video lokal dirender. | |
Callback yang menyediakan volume audio selama uji penangkapan audio sebelum panggilan. | |
Callback untuk perubahan status pemutaran akompanimen audio lokal. | |
Callback yang menyediakan informasi file audio. | |
Callback untuk saat pengguna jarak jauh memulai pemutaran akompanimen audio. | |
Callback untuk saat pengguna jarak jauh menyelesaikan pemutaran akompanimen audio. | |
Callback yang menyediakan statistik real-time. Ini dipicu setiap 2 detik. | |
Callback yang menyediakan statistik video lokal. Ini dipicu setiap 2 detik. | |
Callback yang menyediakan statistik video jarak jauh. Ini dipicu setiap 2 detik. | |
Callback yang menyediakan statistik audio lokal. Ini dipicu setiap 2 detik. | |
Callback yang menyediakan statistik audio jarak jauh. Ini dipicu setiap 2 detik. | |
Callback untuk saat pesan ekstensi media diterima. | |
Callback untuk hasil Snapshot. | |
Callback untuk perubahan status perangkat audio lokal. | |
Callback untuk perubahan status perangkat video lokal. | |
Callback untuk memberi tahu bahwa Anda dapat mulai mengirim pesan saluran data. | |
Callback untuk saat pesan saluran data diterima. |
IAudioFrameObserver
API | Deskripsi |
Callback untuk data mentah yang ditangkap. | |
Callback untuk data setelah pemrosesan 3A. | |
Callback untuk data ingest aliran. | |
Callback untuk data pemutaran. | |
Callback untuk data penarikan aliran jarak jauh. |
IVideoFrameObserver
API | Deskripsi |
Callback untuk data video yang ditangkap secara lokal. | |
Callback untuk data video lokal sebelum pengkodean. | |
Callback untuk data video jarak jauh. | |
Penyelarasan lebar video keluaran. | |
Isi data video keluaran. |
AliEngineDestroyCompletionCallback
API | Deskripsi |
Callback yang dijalankan saat operasi penghancuran selesai. |
Detail API
Create
Membuat instans AliRtcEngine.
static AliEngine *Create(const char *extras);Kapan harus memanggil
Panggil metode ini untuk membuat instance AliRtcEngine sebelum memanggil API lain dari kit pengembangan perangkat lunak (SDK) Alibaba Real-Time Communication (ARTC).
Batasan
SDK hanya mendukung pembuatan satu instance AliRtcEngine per aplikasi.
Parameter
Nama | Tipe | Deskripsi |
extras | const char * | Menerima parameter untuk rilis grayscale. Anda dapat menggunakan Konfigurasi JSON untuk mengonfigurasi fitur khusus SDK. Ini bisa berupa string kosong. |
Nilai kembali
Mengembalikan instance singleton dari kelas AliEngine.
Hancurkan
Menghapus instans AliRtcEngine.
static void Destroy(AliEngineDestroyCompletionCallback *callback = nullptr);Menghancurkan objek singleton AliRtcEngine. Setelah memanggil metode ini, semua sumber daya internal dilepaskan. Anda tidak dapat lagi menggunakan metode atau callback lain dari AliRtcEngine. Untuk menggunakannya kembali, Anda harus memanggil Create untuk membuat instance baru.
Metode ini merupakan pemanggilan asinkron yang menyediakan callback agar Anda dapat memantau kapan operasi penghancuran selesai. Anda hanya dapat membuat instance baru setelah menerima callback <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#TUn2z" id="14c93d2e8bamj">onDestroyCompletion</a>, karena operasi penghancuran belum selesai hingga callback tersebut diterima.
Kapan harus memanggil
Panggil metode ini untuk melepaskan instance setelah menyelesaikan sesi Komunikasi Real-Time.
Batasan
Untuk menghindari deadlock, jangan panggil metode ini di dalam callback SDK apa pun.
Parameter
Parameter | Tipe | Deskripsi |
callback | AliEngineDestroyCompletionCallback | Callback untuk saat operasi penghancuran selesai. |
QueryInterface
Mendapatkan instance antarmuka fitur.
virtual int QueryInterface(AliEngineInterfaceIdType iid, void** pInterface) = 0;Metode ini mendapatkan instance antarmuka fitur tertentu. Saat mengembangkan aplikasi audio dan video di Windows, banyak fitur lanjutan disediakan melalui kelas antarmuka yang sesuai, seperti manajemen perangkat audio (AliEngineInterfaceAudioDeviceManager), manajemen perangkat video (AliEngineInterfaceVideoDeviceManager), dan mesin media (AliEngineInterfaceMediaEngine). Sebelum memanggil metode terkait, Anda harus menggunakan metode QueryInterface untuk mendapatkan instance antarmuka ini.
Setelah menggunakan instance antarmuka, panggil metode Release dari antarmuka yang sesuai untuk melepaskan sumber daya dan mencegah kebocoran memori.
Parameter
Nama | Tipe | Deskripsi |
iid | Jenis antarmuka fitur. Ini memberi tahu SDK jenis instance antarmuka yang akan didapatkan.
| |
pInterface | void** | Mengembalikan instance jenis antarmuka yang ditentukan. Contoh:
Berikan |
Nilai pengembalian
0: Panggilan berhasil.
<0: Panggilan gagal.
SetH5CompatibleMode
Menetapkan apakah akan mengaktifkan mode kompatibilitas H5.
static void SetH5CompatibleMode(bool comp);Parameter
Nama | Tipe | Deskripsi |
comp | bool |
|
Versi saat ini tidak mendukung perubahan mode kompatibilitas H5 setelah instans AliRtcEngine dibuat. Anda harus memanggil metode ini sebelum membuat instans.
GetH5CompatibleMode
Memeriksa apakah mode kompatibilitas H5 diaktifkan.
static bool GetH5CompatibleMode();Nilai kembali
Mengembalikan true jika kompatibilitas H5 diaktifkan; false jika tidak diaktifkan.
SetEngineEventListener
Menetapkan listener event.
virtual int SetEngineEventListener(AliEngineEventListener *listener) = 0;Metode ini menetapkan listener callback untuk SDK. Dengan menetapkan listener ini, Anda dapat menerima berbagai notifikasi event dari mesin, seperti pengguna yang bergabung atau meninggalkan saluran, perubahan status jaringan, dan status aliran audio/video.
Anda perlu mengimplementasikan kelas AliEngineEventListener untuk menyesuaikan metode event yang ingin Anda dengarkan. Secara default, semua antarmuka memiliki implementasi kosong. Anda tidak perlu mengimplementasikan semua metode, cukup sesuai kebutuhan bisnis Anda.
Semua metode callback dijalankan di thread internal SDK. Jangan melakukan operasi antarmuka pengguna (UI) di thread ini. Jika diperlukan operasi UI, kirimkan ke thread utama. Jangan memanggil metode ini di dalam metode callback.
Jangan melakukan operasi yang memakan waktu di metode callback, seperti memanggil metode Destroy dari AliEngine. Hal ini dapat menyebabkan pemblokiran yang tidak perlu dan memengaruhi kinerja SDK.
Panggilan balik terkait
Jika terjadi pengecualian selama runtime, SDK pertama-tama mencoba memulihkan secara otomatis. Untuk kesalahan yang tidak dapat diselesaikan secara internal, SDK memberi tahu aplikasi Anda melalui antarmuka callback yang telah ditentukan. Berikut adalah callback utama untuk masalah yang tidak dapat ditangani SDK dan memerlukan pendengaran serta respons dari lapisan aplikasi:
Penyebab pengecualian | Panggilan balik dan parameter | Solusi | Deskripsi |
Otentikasi gagal | Hasil dalam callback OnJoinChannelResult mengembalikan AliRtcErrJoinBadToken. | Jika kesalahan ini terjadi, aplikasi perlu memeriksa apakah token benar. | Saat pengguna memanggil API, jika autentikasi gagal, sistem mengembalikan pesan kesalahan autentikasi di callback API. |
Konektivitas jaringan abnormal | Callback OnConnectionStatusChange mengembalikan AliRtcConnectionStatusFailed. | Jika penyimpangan ini terjadi, aplikasi perlu bergabung kembali ke saluran. | SDK dapat memulihkan secara otomatis dari pemutusan jaringan untuk periode tertentu. Namun, jika waktu pemutusan melebihi ambang batas yang telah ditentukan, terjadi timeout dan koneksi terputus. Dalam hal ini, aplikasi harus memeriksa status jaringan dan memandu pengguna untuk bergabung kembali ke saluran. |
Perangkat lokal abnormal | OnLocalDeviceException | Jika pengecualian ini terjadi, aplikasi perlu memeriksa apakah izin dan perangkat keras normal. | Layanan Komunikasi Real-Time (RTC) mendukung deteksi perangkat dan diagnosis pengecualian. Saat perangkat lokal menjadi abnormal, layanan RTC memberi tahu klien melalui callback. Jika SDK tidak dapat menyelesaikan masalah sendiri, aplikasi perlu campur tangan untuk memeriksa apakah perangkat normal. |
Dikeluarkan dari saluran | OnBye |
| Layanan RTC menyediakan fitur bagi administrator untuk secara aktif menghapus peserta. |
Autentikasi akan segera kedaluwarsa | OnWillAuthInfoExpire | Jika penyimpangan ini terjadi, aplikasi perlu mendapatkan informasi otentikasi terbaru dan kemudian memanggil refreshAuthInfo untuk menyegarkannya. | Kesalahan kedaluwarsa autentikasi dapat terjadi dalam dua situasi: saat pengguna memanggil API atau selama eksekusi program. Oleh karena itu, umpan balik kesalahan dikirim melalui callback API atau callback kesalahan terpisah. |
Otentikasi kedaluwarsa | OnAuthInfoExpired | Jika penyimpangan ini terjadi, aplikasi perlu bergabung kembali ke saluran. | Kesalahan kedaluwarsa autentikasi dapat terjadi dalam dua situasi: saat pengguna memanggil API atau selama eksekusi program. Oleh karena itu, umpan balik kesalahan dikirim melalui callback API atau callback kesalahan terpisah. |
Parameter
Nama | Tipe | Deskripsi |
listener | AliEngineEventListener* | Listener event mesin. Anda perlu mengimplementasikan kelas AliEngineEventListener dan menimpa callback event yang ingin Anda dengarkan. Jika Anda menetapkannya ke nullptr, semua listener event dibatalkan. |
Nilai kembali
0: Sukses.
Nilai bukan nol: Gagal. Kegagalan mungkin karena parameter listener tidak valid atau SDK tidak diinisialisasi dengan benar.
GetSDKVersion
Menanyakan versi SDK saat ini.
static const char *GetSDKVersion();Nilai kembali
Nomor versi SDK saat ini dalam format string, misalnya, "2.5.0.x".
SetChannelProfile
Menetapkan mode saluran.
virtual int SetChannelProfile(const AliEngineChannelProfile channelProfile) = 0;Metode ini menetapkan mode saluran. Saat ini tersedia dua skenario: panggilan video dan streaming interaktif:
Mode panggilan video: Semua pengguna memiliki peran streamer dan dapat melakukan ingest aliran dan penarikan aliran.
Mode streaming interaktif: Anda perlu memanggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="4e50f781a01e1">SetClientRole</a>untuk menetapkan peran pengguna. Untuk pengguna yang melakukan ingest aliran di saluran, tetapkan peran mereka ke streamer (AliRTCSdkInteractive). Jika pengguna hanya melakukan penarikan aliran, tetapkan peran mereka ke viewer (AliRTCSdkLive). Mode ini direkomendasikan untuk skenario RTC.
Kami merekomendasikan menggunakan mode streaming interaktif untuk semua skenario RTC, yaitu memanggil metode ini dan menetapkan mode ke
AliEngineInteractiveLive.Pengguna dalam saluran yang sama harus menggunakan skenario saluran yang sama.
Kapan harus memanggil
Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran. Metode ini tidak dapat diatur ulang saat berada di saluran. Anda dapat mengaturnya ulang setelah meninggalkan saluran.
Parameter
Nama | Tipe | Deskripsi |
profile | Jenis saluran. Untuk skenario RTC, kami merekomendasikan menetapkannya ke AliEngineInteractiveLive, yaitu mode streaming interaktif. |
Nilai kembali
0: Pemanggilan metode berhasil.
Nilai lainnya: Pemanggilan metode gagal.
-1: SDK belum diinisialisasi atau telah dihapus.
SetAudioProfile
Menetapkan profil audio.
virtual int SetAudioProfile(int audioProfile, int audioScene) = 0;Metode ini menetapkan mode pengkodean audio dan mode skenario audio. Untuk informasi lebih lanjut, lihat Operasi dan konfigurasi audio umum. SDK ARTC menggunakan mode berkualitas tinggi (AliEngineHighQualityMode) dan mode skenario musik (AliEngineSceneMusicMode) secara default. Jika pengaturan default tidak memenuhi kebutuhan Anda, panggil metode ini untuk mengonfigurasinya.
Kapan harus memanggil
Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran. Metode ini tidak dapat diatur ulang setelah bergabung ke saluran. Anda dapat mengaturnya ulang setelah meninggalkan saluran.
Parameter
Nama | Tipe | Deskripsi |
audio_profile | Parameter mode pengkodean atau penangkapan audio. Kami merekomendasikan menggunakan mode berkualitas tinggi (AliRtcEngineHighQualityMode). Catatan Untuk interoperabilitas dengan klien web, tetapkan laju sampel ke 48k.
| |
audio_scene | Parameter mode skenario audio. Terutama mencakup:
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
IsAudioOnlyMode
Memeriksa apakah mode saat ini hanya audio.
virtual bool IsAudioOnlyMode() = 0;Nilai kembali
true menunjukkan mode hanya audio; false menunjukkan mode audio dan video.
SetAudioOnlyMode
Menetapkan mode ke hanya audio atau audio dan video.
virtual int SetAudioOnlyMode(bool audioOnly) = 0;Parameter
Nama | Tipe | Deskripsi |
audioOnly | bool |
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
JoinChannel[1/3]
Masuk ke saluran.
virtual int JoinChannel(const char *token, const char *channelId, const char *userId, const char *userName) = 0;Metode ini bergabung ke saluran. ARTC mengatur pengguna berdasarkan saluran. Pengguna harus bergabung ke saluran untuk mempublikasikan 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 dilewatkan, seperti dijelaskan di bawah ini:
Metode ini untuk bergabung dengan parameter tunggal. Lewatkan token yang dihasilkan untuk bergabung dengan parameter tunggal menggunakan Autentikasi Token untuk bergabung ke saluran. Kami merekomendasikan menggunakan metode ini untuk bergabung ke saluran dalam skenario RTC.
JoinChannel[2/3]untuk bergabung dengan parameter ganda. Anda perlu melewati token yang dihasilkan untuk bergabung dengan parameter ganda menggunakan Autentikasi Token, dan juga melewati informasi pengguna yang digunakan untuk menghasilkan token.JoinChannel[3/3]untuk skenario interaksi real-time AI. Lewatkan token bergabung dengan parameter tunggal dan tetapkan properti penggunacapabilityProfileberdasarkan skenario.
Secara default, saat Anda bergabung ke saluran, Anda berlangganan ke aliran audio dan video semua pengguna lain di saluran dan mendorong aliran audio dan video Anda ke pengguna jarak jauh. Jika Anda ingin menonaktifkan langganan default, panggil <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="00e50070ba5ck">SetDefaultSubscribeAllRemoteAudioStreams</a> dan <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="0b0bcff091gtk">SetDefaultSubscribeAllRemoteVideoStreams</a> sebelum memanggil API ini untuk menonaktifkan langganan ke aliran audio atau video.
Kapan harus dipanggil
Panggil metode ini setelah membuat mesin.
Batasan
Setelah berhasil bergabung ke saluran, jika Anda ingin beralih ke saluran yang berbeda, Anda harus terlebih dahulu memanggil
LeaveChanneluntuk meninggalkan saluran saat ini. Anda hanya dapat bergabung ke saluran baru setelah menerima callback<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="b2522e57e4vom">OnLeaveChannelResult</a>.Metode ini hanya mendukung bergabung ke satu saluran sekaligus.
Aplikasi dengan App ID yang berbeda tidak dapat berkomunikasi satu sama lain.
Jangan panggil metode ini untuk mencoba kembali jika gagal masuk ke saluran.
Callback terkait
Pemanggilan sukses metode ini memicu callback berikut:
Hasil klien lokal bergabung ke saluran dikembalikan oleh callback
AliRtcEngineEventListener's<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="cad6eb9b1bwx7">OnJoinChannelResult</a>.Setelah berhasil bergabung ke saluran, pengguna jarak jauh memicu callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="fab4a94264m28">OnRemoteUserOnLineNotify</a>.
Parameter
Parameter | Tipe | Deskripsi |
token | const char * | Informasi autentikasi untuk bergabung dengan parameter tunggal. |
channelId | const char * | Saluran untuk bergabung. Ini harus sama dengan nilai yang digunakan untuk menghasilkan token. |
userId | const char * | UID untuk bergabung ke saluran. Ini harus sama dengan nilai yang digunakan untuk menghasilkan token. |
userName | const char * | Nama tampilan pengguna (bukan UID). |
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai bukan nol menunjukkan pemanggilan metode gagal.
JoinChannel[2/3]
Masuk ke sebuah saluran.
virtual int JoinChannel(const AliEngineAuthInfo &authInfo,
const char *userName) = 0;Metode ini bergabung ke saluran. ARTC mengatur pengguna berdasarkan saluran. Pengguna harus bergabung ke saluran untuk mempublikasikan atau berlangganan aliran audio dan video. Metode ini, JoinChannel[1/3], dan JoinChannel[3/3] semuanya dapat digunakan untuk bergabung ke saluran. Mereka berbeda dalam metode autentikasi dan informasi pengguna yang dilewatkan, seperti dijelaskan di bawah ini:
JoinChannel[1/3]untuk bergabung dengan parameter tunggal. Lewatkan token yang dihasilkan untuk bergabung dengan parameter tunggal menggunakan Autentikasi Token untuk bergabung ke saluran. Kami merekomendasikan menggunakan metode ini untuk bergabung ke saluran dalam skenario RTC.Metode ini untuk bergabung dengan parameter ganda. Anda perlu melewati token yang dihasilkan untuk bergabung dengan parameter ganda menggunakan Autentikasi Token, dan juga melewati informasi pengguna yang digunakan untuk menghasilkan token.
JoinChannel[3/3]untuk skenario interaksi real-time AI. Lewatkan token bergabung dengan parameter tunggal dan tetapkan properti penggunacapabilityProfileberdasarkan skenario.
Secara default, saat Anda bergabung ke saluran, Anda berlangganan ke aliran audio dan video semua pengguna lain di saluran dan mendorong aliran audio dan video Anda ke pengguna jarak jauh. Jika Anda ingin membatalkan langganan default, Anda dapat memanggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="d4639ae922klp">SetDefaultSubscribeAllRemoteAudioStreams</a>dan<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="6d0a63e70bpiz">SetDefaultSubscribeAllRemoteVideoStreams</a>sebelum memanggil operasi ini untuk menonaktifkan langganan ke aliran audio atau video.Metode ini untuk bergabung dengan parameter ganda. Sebelum memanggilnya, hasilkan token untuk bergabung dengan parameter ganda. Untuk informasi lebih lanjut, lihat Autentikasi Token.
Batasan
Setelah berhasil bergabung ke saluran, jika Anda perlu beralih ke saluran lain, Anda harus terlebih dahulu memanggil
LeaveChanneluntuk meninggalkan yang saat ini. Anda hanya dapat bergabung ke yang baru setelah menerima callback<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="fcd2fac6abf0y">OnLeaveChannelResult</a>.Metode ini hanya mendukung bergabung ke satu saluran sekaligus.
Aplikasi dengan App ID berbeda tidak dapat berkomunikasi satu sama lain.
Callback terkait
Pemanggilan sukses metode ini memicu callback berikut:
Hasil klien lokal bergabung ke saluran dikembalikan dalam callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="b3db8c610ewua">OnJoinChannelResult</a>.Setelah berhasil bergabung ke saluran, ujung jarak jauh memicu callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="a1297d33bcd92">OnRemoteUserOnLineNotify</a>.
Parameter
Nama | Tipe | Deskripsi |
authInfo | Informasi autentikasi. | |
userName | const char * | Nama tampilan pengguna (bukan UID). |
JoinChannel[3/3]
Masuk ke sebuah saluran.
virtual int JoinChannel(const char *token, const char *channelId, const char *userId, const AliEngineChannelParam &userParam) = 0;Metode ini bergabung ke saluran. ARTC mengatur pengguna berdasarkan saluran. Pengguna harus bergabung ke saluran untuk mempublikasikan atau berlangganan aliran audio dan video. Metode ini, JoinChannel[1/3], dan JoinChannel[2/3] semuanya dapat digunakan untuk bergabung ke saluran. Mereka berbeda dalam metode autentikasi dan informasi pengguna yang dilewatkan, seperti dijelaskan di bawah ini:
JoinChannel[1/3]untuk bergabung dengan parameter tunggal dalam skenario RTC. Lewatkan token yang dihasilkan untuk bergabung dengan parameter tunggal menggunakan Autentikasi Token untuk bergabung ke saluran. Kami merekomendasikan menggunakan metode ini untuk bergabung ke saluran dalam skenario RTC.JoinChannel[2/3]untuk bergabung dengan parameter ganda. Anda perlu melewati token yang dihasilkan untuk bergabung dengan parameter ganda menggunakan Autentikasi Token, dan juga melewati informasi pengguna yang digunakan untuk menghasilkan token.Metode ini untuk skenario interaksi real-time AI. Lewatkan token bergabung dengan parameter tunggal dan tetapkan properti pengguna
capabilityProfileberdasarkan skenario. Jika Anda ingin berkomunikasi dengan agen AI, tetapkan keAliCapabilityProfileHuman.
Secara default, saat Anda bergabung ke saluran, Anda berlangganan ke aliran audio dan video semua pengguna lain di saluran dan mendorong aliran audio dan video Anda ke pengguna jarak jauh. Untuk membatalkan langganan default ini, Anda dapat memanggil <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="952a402dc4v73">SetDefaultSubscribeAllRemoteAudioStreams</a> dan <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="4e977610713wy">SetDefaultSubscribeAllRemoteVideoStreams</a> sebelum memanggil metode ini untuk menonaktifkan langganan ke aliran audio atau video.
Batasan
Setelah berhasil bergabung ke saluran, jika Anda perlu bergabung ke saluran lain, Anda harus terlebih dahulu memanggil
leaveChanneluntuk meninggalkan saluran saat ini dan memastikan bahwa Anda menerima callback<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="15ec544e3985m">OnLeaveChannelResult</a>sebelum Anda dapat bergabung ke saluran lain.Metode ini hanya mendukung bergabung ke satu saluran sekaligus.
Aplikasi dengan App ID berbeda tidak dapat berkomunikasi satu sama lain.
Jangan panggil metode ini untuk mencoba ulang jika bergabung ke saluran gagal.
Callback terkait
Pemanggilan sukses metode ini memicu callback berikut:
Hasil klien lokal bergabung ke saluran diberi tahu melalui callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#7cbf47a35bcel" id="5d109191c950l">OnJoinChannelResult</a>.Setelah berhasil bergabung ke saluran, ujung jarak jauh memicu callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#3333f6e9d344q" id="fa6f8d9357glx">OnRemoteUserOnLineNotify</a>.
Parameter
Parameter | Tipe | Deskripsi |
token | const char * | Informasi autentikasi untuk bergabung dengan parameter tunggal. |
channelId | const char * | Saluran untuk bergabung. Ini harus sama dengan nilai yang digunakan untuk menghasilkan token. Anda dapat membiarkannya kosong. Jika kosong, channelId yang digunakan untuk menghasilkan token digunakan secara default. |
userId | const char * | UID untuk bergabung ke saluran. Ini harus sama dengan nilai yang digunakan untuk menghasilkan token. Anda dapat membiarkannya kosong. Jika kosong, userId yang digunakan untuk menghasilkan token digunakan secara default. |
userParam | Properti pengguna, seperti nama panggilan, jenis, dan ID kustom. |
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai bukan nol menunjukkan pemanggilan metode gagal.
LeaveChannel
Meninggalkan saluran.
virtual int LeaveChannel() = 0;Setelah memanggil metode ini, SDK menghentikan interaksi audio dan video dan meninggalkan saluran saat ini.
Metode ini merupakan operasi asinkron. Pemanggilan metode ini yang berhasil tidak berarti bahwa Anda benar-benar telah meninggalkan saluran. Anda benar-benar akan meninggalkan saluran hanya setelah menerima callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="2741d56c6eqau">OnLeaveChannelResult</a>.Setelah `leaveChannel` selesai, hancurkan mesin dan atur ke null.
mAliRtcEngine->LeaveChannel(); AliEngine::Destroy(); mAliRtcEngine = nullptr;
Kapan harus memanggil
Panggil metode ini saat Anda perlu meninggalkan saluran yang telah Anda gabung.
Jika Anda telah bergabung ke saluran dan perlu bergabung ke saluran lain, panggil metode ini untuk meninggalkan saluran saat ini terlebih dahulu.
Callback terkait
Pengguna lokal: Memanggil metode ini memicu callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#b70203f9ea0mz" id="9626ae24d89ue">OnLeaveChannelResult</a>untuk memberi tahu Anda mengenai hasil keluar dari saluran.Sisi jarak jauh: Pemanggilan API ini yang berhasil memicu callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#44ce12a0ecj52" id="0dfcab6a6fylt">OnRemoteUserOffLineNotify</a>untuk pengguna jarak jauh.
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lainnya menunjukkan pemanggilan metode gagal.
IsInCall
Memeriksa apakah pengguna saat ini berada di saluran.
virtual bool IsInCall() = 0;Nilai kembali
true menunjukkan pengguna berada di saluran; false menunjukkan pengguna tidak berada di saluran.
SetClientRole
Menetapkan peran pengguna.
virtual int SetClientRole(const AliEngineClientRole clientRole) = 0;Metode ini menetapkan peran pengguna sebagai streamer atau viewer.
Dalam mode streaming interaktif, sebelum bergabung ke saluran:
Tetapkan peran pengguna ke streamer: SDK secara otomatis mempublikasikan aliran audio dan video lokal dan menerima aliran audio dan video streamer lain secara default.
Tetapkan peran pengguna ke viewer: SDK tidak mempublikasikan aliran audio dan video lokal, tetapi menerima aliran audio dan video streamer lain.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Anda dapat memanggilnya sebelum bergabung untuk menetapkan peran pengguna awal, atau setelah bergabung untuk mengganti peran pengguna.
Batasan
Metode ini hanya efektif dalam mode interaktif, yaitu saat Anda memanggil API <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#901e748242y3g" id="322c3da902jpt">SetChannelProfile</a> untuk menetapkan profil saluran ke AliEngineInteractiveLive.
Dalam mode streaming interaktif, kami merekomendasikan secara eksplisit memanggil metode ini untuk menetapkan peran pengguna sebelum bergabung ke saluran.
Parameter
Nama | Tipe | Deskripsi |
role | Jenis peran pengguna. Nilai default adalah AliEngineClientRolelive (viewer). Jenis peran hanya efektif dalam mode non-komunikasi. |
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
GetClientRole
Mendapatkan jenis peran pengguna saat ini (streamer/viewer).
virtual AliEngineClientRole GetClientRole() = 0;Nilai kembali
Jika pemanggilan metode berhasil, metode ini mengembalikan objek AliEngineClientRole. Ini adalah enumerasi yang menunjukkan jenis peran adalah streamer (0) atau viewer (1).
RefreshAuthInfo[1/2]
Memperbarui informasi autentikasi.
virtual int RefreshAuthInfo(const AliEngineAuthInfo &authInfo) = 0;Metode ini memperbarui informasi autentikasi. Token kedaluwarsa setelah periode tertentu. Saat kedaluwarsa, SDK tidak dapat terhubung ke server.
Baik metode ini maupun RefreshAuthInfo[2/2] memperbarui informasi autentikasi. Metode ini untuk memperbarui token bergabung dengan parameter ganda, sedangkan RefreshAuthInfo[2/2] untuk memperbarui token bergabung dengan parameter tunggal. Untuk informasi lebih lanjut tentang pembuatan token, lihat Autentikasi Token.
Kapan harus memanggil
Dalam situasi berikut:
Saat Anda menerima callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#9f8ebe177degw" id="f52a19bb78yoi">OnAuthInfoWillExpire</a>yang melaporkan bahwa informasi autentikasi akan segera kedaluwarsa, kami merekomendasikan agar Anda membuat ulang Token di server Anda, lalu memanggil metode ini dan melewatkan Token baru.Jika Anda tidak memperbarui Token tepat waktu, callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#09c4ec9160eom" id="440c501877fxr">OnAuthInfoExpired</a>dipicu, yang menunjukkan bahwa autentikasi telah kedaluwarsa. Anda kemudian harus membuat ulang Token dan memanggilJoinChanneluntuk bergabung kembali ke saluran.
Parameter
Nama | Tipe | Deskripsi |
authInfo | Informasi autentikasi. |
Nilai pengembalian
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
RefreshAuthInfo[2/2]
Memperbarui informasi autentikasi.
virtual int RefreshAuthInfo(const char *token) = 0;Metode ini memperbarui token. Token kedaluwarsa setelah periode tertentu. Saat kedaluwarsa, SDK tidak dapat terhubung ke server.
Baik metode ini maupun RefreshAuthInfo[1/2] memperbarui informasi autentikasi. Metode ini untuk memperbarui token bergabung dengan parameter tunggal, sedangkan RefreshAuthInfo[1/2] untuk memperbarui token bergabung dengan parameter ganda. Untuk informasi lebih lanjut tentang pembuatan token, lihat Autentikasi Token.
Kapan harus memanggil
Dalam situasi berikut, kami merekomendasikan agar Anda membuat ulang token di server Anda dan kemudian memanggil metode ini untuk melewatkan token baru:
Saat Anda menerima callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#9f8ebe177degw" id="b21949148djrc">OnAuthInfoWillExpire</a>, yang menunjukkan bahwa informasi autentikasi akan segera kedaluwarsa.Jika Anda tidak memperbarui token tepat waktu, callback
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#09c4ec9160eom" id="62df9bf63786v">OnAuthInfoExpired</a>dipicu untuk memberi tahu Anda bahwa autentikasi telah kedaluwarsa. Pada titik ini, Anda harus memanggilJoinChanneluntuk bergabung kembali ke saluran.
Parameter
Nama | Tipe | Deskripsi |
token | const char *token | Informasi autentikasi untuk bergabung dengan parameter tunggal. |
Nilai pengembalian
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
PublishLocalAudioStream
Menetapkan apakah akan mempublikasikan aliran audio lokal.
virtual int PublishLocalAudioStream(bool enabled) = 0;Metode ini mengontrol apakah akan mempublikasikan aliran audio yang ditangkap secara lokal. SDK mempublikasikan aliran audio secara default. Jika Anda tidak ingin mempublikasikan aliran audio secara default, Anda dapat memanggil PublishLocalAudioStream(false) sebelum bergabung ke saluran untuk menonaktifkan publikasi aliran audio.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran. Memanggilnya sebelum bergabung ke saluran memodifikasi konfigurasi default, yang berlaku saat Anda bergabung.
Callback terkait
Saat status ingest aliran audio lokal berubah, klien lokal memicu callback <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#eb8fab7f5ak7v" id="c584949653jn5">OnAudioPublishStateChanged</a> untuk memberi tahu status terbaru ingest aliran audio, dan klien jarak jauh memicu callback <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="75f2096b1efxy">OnRemoteTrackAvailableNotify</a> untuk memberi tahu perubahan pada aliran audio dan video pengguna jarak jauh.
Parameter
Nama | Tipe | Deskripsi |
enable | bool |
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
IsLocalAudioStreamPublished
Menanyakan apakah publikasi aliran audio saat ini diizinkan.
virtual bool IsLocalAudioStreamPublished() = 0;Nilai kembali
true menunjukkan publikasi diizinkan; false menunjukkan publikasi tidak diizinkan.
SetDefaultSubscribeAllRemoteAudioStreams
Menetapkan apakah akan berlangganan ke aliran audio jarak jauh secara default.
virtual int SetDefaultSubscribeAllRemoteAudioStreams(bool sub) = 0;Metode ini mengonfigurasi apakah sistem berlangganan ke aliran audio pengguna jarak jauh secara default. Pengaturan ini memengaruhi perilaku berlangganan aliran audio untuk pengguna baru yang bergabung ke saluran. Kami merekomendasikan menetapkannya ke true kecuali Anda memiliki persyaratan khusus.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Sebelum bergabung dengan saluran:
SDK berlangganan ke aliran audio pengguna jarak jauh secara default saat bergabung ke saluran. Jika Anda ingin mengubah perilaku ini, panggil metode ini sebelum bergabung ke saluran.
Setelah bergabung dengan saluran:
Jika Anda ingin menghentikan langganan default, panggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="e95a7e2d6fjwt">SetDefaultSubscribeAllRemoteAudioStreams</a>(false)sehingga Anda tidak akan berlangganan ke aliran audio pengguna yang kemudian bergabung ke saluran.Setelah Anda menghentikan langganan default, jika Anda ingin melanjutkan berlangganan ke aliran audio pengguna tertentu, panggil antarmuka
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="1a391bcabc66e">SubscribeRemoteAudioStream</a>. Jika Anda ingin melanjutkan berlangganan ke aliran audio beberapa pengguna, panggil antarmuka beberapa kali.Setelah Anda menghentikan langganan default, memanggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="e79b5ad58awcw">SetDefaultSubscribeAllRemoteAudioStreams</a>(true)hanya melanjutkan aliran audio pengguna yang kemudian bergabung ke saluran. Aliran audio pengguna jarak jauh yang bergabung saat langganan dihentikan tidak berlangganan.
Parameter
Nama | Tipe | Deskripsi |
sub | bool |
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SubscribeRemoteAudioStream
Menghentikan atau melanjutkan berlangganan aliran audio dari pengguna remote tertentu.
virtual int SubscribeRemoteAudioStream(const char* uid, bool sub) = 0;Metode ini menghentikan atau melanjutkan berlangganan ke aliran audio pengguna jarak jauh tertentu. Kami merekomendasikan menetapkannya ke true kecuali Anda memiliki persyaratan khusus.
Secara default, SDK berlangganan ke aliran audio semua pengguna jarak jauh saat Anda bergabung ke pertemuan. Untuk mengubah perilaku ini, Anda dapat memanggil <a baseurl="t2713962_v4_1_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="bf2d59f02d9tq">SetDefaultSubscribeAllRemoteAudioStreams</a>(false) sebelum Anda bergabung ke pertemuan untuk membatalkan konfigurasi default ini.
Parameter
Nama | Tipe | Deskripsi |
uid | const char* | UID pengguna jarak jauh. |
sub | bool |
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SubscribeAllRemoteAudioStreams
Menghentikan atau melanjutkan penerimaan semua aliran audio remote.
virtual int SubscribeAllRemoteAudioStreams(bool sub) = 0;Metode ini adalah sakelar utama untuk berlangganan ke aliran audio jarak jauh. Kami merekomendasikan menetapkannya ke true. Jika Anda menetapkannya ke false, hal berikut terjadi:
Langganan ke semua aliran audio jarak jauh di saluran saat ini berhenti.
Pengguna baru yang bergabung ke saluran tidak berlangganan.
Anda tidak dapat menggunakan
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="aface4ad3920l">SubscribeRemoteAudioStream</a>untuk mengontrol secara individual aliran audio pengguna tertentu.
Untuk berlangganan kembali, panggil metode ini lagi dan atur ke true untuk melanjutkan langganan.
Secara default, SDK berlangganan ke aliran audio semua pengguna jarak jauh saat Anda bergabung dalam rapat. Jika Anda ingin mengubah perilaku ini, Anda dapat memanggil <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e51a461de2k9t" id="3927721185m08">SetDefaultSubscribeAllRemoteAudioStreams</a>(false) sebelum bergabung dalam rapat untuk membatalkan konfigurasi default ini.
Parameter
Nama | Tipe | Deskripsi |
sub | bool |
|
Nilai kembali
0 menunjukkan bahwa panggilan metode berhasil. Nilai lainnya menunjukkan bahwa panggilan metode gagal.
PublishLocalVideoStream[1/2]
Memublikasikan atau menghentikan publikasi aliran kamera.
virtual int PublishLocalVideoStream(bool enabled) = 0;Metode ini mengontrol apakah akan memublikasikan aliran video yang ditangkap secara lokal.
SDK melakukan pengambilan aliran video secara default. Untuk menonaktifkan pengambilan aliran video, panggil PublishLocalVideoStream(false) sebelum bergabung ke saluran.
Kapan harus dipanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung dengan saluran.
Memanggilnya sebelum bergabung ke saluran akan mengubah konfigurasi default, yang akan berlaku saat Anda bergabung.
Callback terkait
Ketika status pengambilan aliran audio lokal berubah, callback <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#6bf4efbd1cadl" id="d37709b09147d">OnVideoPublishStateChanged</a> akan dipicu pada klien lokal untuk memberi tahu status pengambilan terbaru, sedangkan callback <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="f16e4b51bchqb">OnRemoteTrackAvailableNotify</a> akan dipicu pada klien jarak jauh untuk memberi tahu bahwa aliran audio dan video pengguna jarak jauh telah berubah.
Parameter
Nama | Tipe | Deskripsi |
enable | bool |
|
Nilai kembalian
0: Pemanggilan metode berhasil.
<0: Pemanggilan metode gagal.
PublishLocalVideoStream[2/2]
Mengatur izin pengiriman aliran video.
virtual int PublishLocalVideoStream(bool enabled, AliEngineVideoTrack track) = 0;Metode ini mengontrol apakah akan mempublikasikan aliran video yang ditangkap secara lokal.
SDK mengambil aliran video secara default. Untuk menonaktifkan pengambilan aliran video, panggil PublishLocalVideoStream(false) sebelum bergabung dengan saluran.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung dengan saluran.
Memanggilnya sebelum bergabung dengan saluran akan mengubah konfigurasi default, yang berlaku saat Anda bergabung.
Callback terkait
Ketika status pengambilan aliran audio lokal berubah, callback <a baseurl="t2713962_v5_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#6bf4efbd1cadl" id="18a9d4b47ezcc">OnVideoPublishStateChanged</a> dipicu pada klien lokal untuk melaporkan status terbaru pengambilan aliran audio, sedangkan callback <a baseurl="t2713962_v5_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#ff1f7c8581r3r" id="d01e7a574f92o">OnRemoteTrackAvailableNotify</a> dipicu pada klien jarak jauh untuk menunjukkan bahwa aliran audio dan video dari pengguna jarak jauh telah berubah.
Parameter
Nama | Tipe | Deskripsi |
enable | bool |
|
track | Jenis aliran video, seperti aliran kamera atau aliran berbagi layar. |
Nilai kembali
0: Pemanggilan metode berhasil.
<0: Pemanggilan metode gagal.
IsLocalVideoStreamPublished
Menanyakan apakah penerbitan aliran video saat ini diizinkan.
virtual bool IsLocalVideoStreamPublished() = 0;Nilai kembali
true menunjukkan aliran kamera telah diterbitkan; false menunjukkan aliran kamera belum diterbitkan.
SetDefaultSubscribeAllRemoteVideoStreams
Mengatur apakah akan berlangganan aliran video jarak jauh secara default.
virtual int SetDefaultSubscribeAllRemoteVideoStreams(bool sub) = 0;Metode ini mengatur apakah akan berlangganan aliran video secara default. SDK melakukan langganan secara default.
SDK berlangganan aliran video pengguna jarak jauh secara default saat bergabung ke saluran. Jika Anda ingin mengubah perilaku ini, panggil metode ini sebelum bergabung ke saluran.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Sebelum bergabung dengan saluran:
Anda dapat menggunakan metode ini untuk membatalkan pengaturan langganan default.
Setelah bergabung dengan saluran:
Untuk menghentikan langganan default, panggil
SetDefaultSubscribeAllRemoteVideoStreams(false). Hal ini akan mencegah berlangganan aliran video pengguna yang selanjutnya bergabung ke saluran.Setelah menghentikan langganan default, jika Anda ingin melanjutkan berlangganan aliran video pengguna tertentu, panggil metode SubscribeRemoteVideoStream. Untuk melanjutkan berlangganan beberapa pengguna, panggil metode tersebut beberapa kali.
Setelah menghentikan langganan default, pemanggilan
SetDefaultSubscribeAllRemoteVideoStreams(false)hanya akan melanjutkan berlangganan ke aliran video dari pengguna yang bergabung setelahnya.
Parameter
Nama | Tipe | Deskripsi |
sub | bool |
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SubscribeRemoteVideoStream
Menghentikan atau melanjutkan berlangganan aliran video pengguna jarak jauh.
virtual int SubscribeRemoteVideoStream(const char* uid, AliEngineVideoTrack track, bool sub) = 0;Berlangganan atau membatalkan langganan aliran video pengguna tertentu.
Secara default, SDK berlangganan aliran video semua pengguna jarak jauh saat Anda bergabung ke dalam rapat. Untuk mengubah perilaku ini, Anda dapat memanggil <a baseurl="t2713962_v4_1_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="f71e02d13ap2b">SetDefaultSubscribeAllRemoteVideoStreams</a>(false) sebelum bergabung ke rapat untuk membatalkan konfigurasi default ini.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | UID pengguna jarak jauh. |
track | Jenis aliran video. | |
sub | bool | Apakah akan berlangganan aliran video pengguna jarak jauh. Ini mengontrol langganan atau pembatalan langganan. |
Nilai kembalian
true: Pengaturan berhasil.
false: Pengaturan gagal.
SubscribeAllRemoteVideoStreams
Menghentikan atau melanjutkan menerima semua aliran video remote.
virtual int SubscribeAllRemoteVideoStreams(bool sub) = 0;Metode ini adalah sakelar utama untuk berlangganan aliran video remote. Jika Anda menyetelnya ke false, berikut yang terjadi:
Berlangganan ke semua aliran video jarak jauh di saluran saat ini berhenti.
Pengguna baru yang bergabung ke rapat nanti juga tidak akan berlangganan (meskipun Anda telah mengatur
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="b7b0080f3cnoq">SetDefaultSubscribeAllRemoteVideoStreams</a>(true)untuk berlangganan secara default).Anda tidak dapat menggunakan
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#jyGTp" id="0e2edf97aa1g6">SubscribeRemoteVideoStream</a>untuk mengontrol secara individual aliran video pengguna tertentu.
Untuk berlangganan kembali, panggil metode ini lagi dan atur ke true untuk melanjutkan langganan.
Secara default, SDK berlangganan aliran video dari semua pengguna remote saat Anda bergabung dalam rapat. Untuk mengubah perilaku ini, Anda dapat memanggil <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#2cbc54790brn3" id="629f58d5304mf">SetDefaultSubscribeAllRemoteVideoStreams</a>(false) sebelum Anda bergabung dalam rapat untuk membatalkan konfigurasi default ini.
Parameter
Nama | Tipe | Deskripsi |
sub | bool |
|
Nilai kembali
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil, sedangkan nilai lainnya menunjukkan kegagalan pemanggilan metode.
SubscribeRemoteMediaStream[1/2]
Menghentikan atau melanjutkan aliran media pengguna jarak jauh tertentu.
virtual int SubscribeRemoteMediaStream(const char* uid, AliEngineVideoTrack videoTrack, bool subVideo, bool subAudio) = 0;Metode ini berlangganan aliran audio dan video jarak jauh secara bersamaan.
Pada metode ini, AliRtcVideoTrackNo dari AliRtcVideoTrack tidak valid. Mengaturnya tidak memiliki efek apa pun.
Metode terkait
Dibandingkan dengan SubscribeRemoteMediaStream[2/2], metode ini menggunakan dua parameter Boolean, subVideo dan subAudio, untuk menentukan apakah akan berlangganan aliran audio dan video jarak jauh. Parameter videoTrack mengontrol aliran video mana yang ditarik.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | UID pengguna jarak jauh. |
videoTrack | Tipe aliran video. | |
subVideo | boo | Menghentikan atau melanjutkan penarikan aliran video pengguna jarak jauh tertentu. Nilai:
|
subAudio | boo | Menghentikan atau melanjutkan penarikan aliran audio pengguna jarak jauh tertentu. Nilai:
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SubscribeRemoteMediaStream[2/2]
Menghentikan atau melanjutkan aliran media pengguna jarak jauh tertentu.
virtual int SubscribeRemoteMediaStream(const char* uid, AliEngineVideoTrack videoTrack, AliEngineAudioTrack audioTrack) = 0;Metode ini berlangganan aliran audio dan video jarak jauh secara bersamaan.
Metode terkait
Dibandingkan dengan SubscribeRemoteMediaStream[1/2], metode ini menggunakan parameter videoTrack dan audioTrack untuk memberi tahu SDK mengenai status langganan yang diinginkan dalam satu panggilan. Contohnya:
Untuk berlangganan aliran kamera dan aliran mikrofon, atur videoTrack dan audioTrack masing-masing ke
AliRtcVideoTrackCameradanAliRtcAudioTrackMicsaat memanggil.Untuk membatalkan langganan aliran kamera tetapi tetap mempertahankan mikrofon, panggil kembali dan atur videoTrack dan audioTrack masing-masing ke
AliRtcVideoTrackNodanAliRtcAudioTrackMic.Untuk membatalkan keduanya, panggil kembali dan atur videoTrack dan audioTrack masing-masing ke
AliRtcVideoTrackNodanAliRtcAudioTrackNo.Untuk berlangganan baik aliran kamera maupun aliran berbagi layar, atur videoTrack ke
AliRtcVideoTrackBoth. Hal yang sama berlaku untuk audio.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | UID pengguna jarak jauh. |
videoTrack | Tipe aliran video. | |
audioTrack | Tipe aliran audio. |
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SubscribeRemoteDestChannelStream
Berlangganan ke aliran pengguna tertentu di berbagai saluran.
virtual int SubscribeRemoteDestChannelStream(const char* channelId, const char* uid, AliEngineVideoTrack track, bool sub_audio, bool sub) = 0;Parameter
Parameter | Tipe | Deskripsi |
channelId | const char* | ID saluran jarak jauh. |
uid | const char* | UID pengguna jarak jauh. |
track | Aliran video untuk berlangganan. | |
sub_audio | bool | Menghentikan atau melanjutkan menarik aliran audio pengguna jarak jauh tertentu. Nilai:
|
sub | bool | Menghentikan atau melanjutkan berlangganan ke aliran pengguna tertentu di berbagai saluran. |
Nilai kembalian
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SetRemoteAudioVolume
Menyesuaikan volume pemutaran pengguna remote tertentu.
virtual int SetRemoteAudioVolume(const char *uid, int volume) = 0;Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | UID pengguna jarak jauh. |
volume | int | Volume pemutaran. Rentangnya adalah [0,100]. 0: Bisukan. 100: Volume asli. |
Nilai kembali
0: Sukses.
Nilai bukan nol: Gagal.
MuteLocalMic
Menghentikan atau melanjutkan pengiriman data audio lokal.
virtual int MuteLocalMic(bool mute, AliEngineMuteLocalAudioMode mode = AliEngineMuteLocalAudioModeDefault) = 0;Menonaktifkan suara berarti aliran audio mengirimkan frame diam. Modul perekaman dan pengkodean tetap bekerja.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Callback terkait
Setelah pemanggilan berhasil, pengguna jarak jauh memicu notifikasi <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#a15f0a6cf6id7" id="f4ae88f094vqy">OnUserAudioMuted</a>, yang menunjukkan apakah pengguna tersebut dalam keadaan diredam (muted).
Parameter
Nama | Tipe | Deskripsi |
mute | bool |
|
mode | Mode redam. Nilai default-nya adalah meredam semua.
|
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
MuteRemoteAudio
Menghentikan atau melanjutkan pemutaran audio jarak jauh.
virtual int MuteRemoteAudio(const char *uid,
bool mute) = 0;API ini hanya menghentikan atau melanjutkan pemutaran audio pengguna jarak jauh tertentu, tetapi tidak memengaruhi penarikan aliran atau dekoding audio jarak jauh. Untuk berhenti berlangganan dari aliran audio pengguna, panggil <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#957e547813q56" id="89841a0989t7y">SubscribeRemoteAudioStream</a>.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung dengan saluran.
Parameter
Nama | Tipe | Deskripsi |
uid | const char * | UID pengguna. |
mute | bool |
|
Nilai kembali
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil, sedangkan nilai lainnya menunjukkan kegagalan pemanggilan metode.
MuteAllRemoteAudio
Menentukan apakah pemutaran Track audio dari semua pengguna jarak jauh akan dihentikan.
virtual int MuteAllRemoteAudio(bool mute) = 0;API ini menghentikan atau melanjutkan semua pemutaran audio jarak jauh.
Panggilan API ini hanya menghentikan pemutaran. Penarikan dan dekoding stream tidak terpengaruh.
Ini dapat diatur sebelum atau setelah memanggil JoinChannel.
Kapan harus memanggil
Anda dapat mengatur ini sebelum atau setelah bergabung dengan saluran.
Deskripsi metrik
Nama | Tipe | Deskripsi |
mute | bool |
|
Nilai kembali
Nilai 0 menunjukkan bahwa panggilan berhasil. Nilai selain 0 menunjukkan bahwa panggilan gagal.
StartAudioCapture[1/2]
Memulai penangkapan audio.
virtual int StartAudioCapture() = 0;Metode ini mengontrol awal perekaman audio. Anda juga dapat memanggilnya sebelum bergabung ke saluran untuk memulai perekaman audio lebih awal. Jika tidak diatur, SDK secara otomatis mengontrol perangkat perekaman audio. Untuk memulai kembali perekaman audio setelah dihentikan dengan memanggil stopAudioCapture, panggil metode ini.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Metode terkait
Metode
StartAudioCapture[2/2]dapat mengontrol apakah perangkat perekaman audio tetap aktif setelah meninggalkan saluran.
Callback terkait
Setelah memanggil metode ini untuk mengubah status perekaman audio lokal, Anda dapat memperoleh perubahan status tersebut melalui callback OnLocalAudioStateChange.
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
StartAudioCapture[2/2]
Memulai penangkapan audio.
virtual int StartAudioCapture(bool keepAlive) = 0;Menghentikan penangkapan mikrofon setelah membisukan suara.
Metode ini mengontrol awal penangkapan audio. Anda juga dapat memanggilnya sebelum bergabung ke saluran untuk memulai penangkapan audio lebih awal. Jika tidak diatur, SDK secara otomatis mengontrol perangkat penangkapan audio.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Metode terkait
Dibandingkan dengan StartAudioCapture[1/2], metode ini memungkinkan Anda menggunakan parameter keepAlive untuk mengontrol apakah perangkat penangkapan tetap menyala setelah meninggalkan saluran.
Callback terkait
Setelah memanggil metode ini untuk mengubah status penangkapan audio lokal, Anda dapat memperoleh perubahan status melalui callback OnLocalAudioStateChange.
Parameter
Parameter | Tipe | Deskripsi |
keepAlive | bool | Status perangkat penangkapan setelah meninggalkan saluran. Nilai:
|
Nilai kembalian
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
StopAudioCapture
Menghentikan penangkapan audio.
virtual int StopAudioCapture() = 0;Setelah memulai pengambilan perangkat audio dengan StartAudioCapture, Anda dapat memanggil metode ini untuk menghentikan pengambilan tersebut.
Callback terkait
Setelah memanggil metode ini untuk mengubah status pengambilan audio lokal, Anda dapat memperoleh perubahan status melalui callback OnLocalAudioStateChange.
Nilai kembalian
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
EnableAudioVolumeIndication
Mengatur frekuensi callback volume dan koefisien penghalusan.
virtual int EnableAudioVolumeIndication(int interval, int smooth, int reportVad) = 0;Metode ini memungkinkan SDK melaporkan secara berkala informasi terkait volume dari pengguna penerbit lokal dan pengguna jarak jauh dengan volume instan tertinggi ke aplikasi.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Callback terkait
Setelah pemanggilan metode ini berhasil, jika terdapat pengguna yang menerbitkan aliran di saluran, SDK akan memicu dua callback berikut pada interval waktu yang ditetapkan:
Volume audio pembicara diberitahukan melalui callback OnAudioVolumeCallback. Frekuensi callback ditentukan oleh interval.
Deteksi aktivitas suara. Ketika pengguna aktif terdeteksi, UID pembicara diberitahukan melalui callback OnActiveSpeaker.
Kapan harus memanggil
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke saluran.
Parameter
Nama | Tipe | Deskripsi |
interval | int | Interval waktu dalam milidetik. Nilai minimum tidak boleh kurang dari 10 ms. Kami menyarankan mengaturnya menjadi 300–500 ms. Nilai kurang dari atau sama dengan 0 akan menonaktifkan fitur indikasi volume dan pembicara. |
smooth | int | Koefisien penghalusan. Rentangnya adalah [0,9]. Nilai yang lebih besar berarti tingkat penghalusan lebih tinggi, sedangkan nilai yang lebih rendah memberikan kinerja real-time yang lebih baik. Kami menyarankan mengaturnya ke 3. |
reportVad | int | Sakelar deteksi pembicara. Nilai-nilai:
|
Nilai kembalian
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
StartAudioPlayer
Memulai perangkat pemutaran audio.
virtual int StartAudioPlayer() = 0;Metode ini dapat mengontrol awal pemutaran audio secara lebih awal. Jika tidak diatur, SDK akan secara otomatis memulai pemutaran audio setelah berlangganan ke aliran audio.
Nilai kembali
0: Sukses.
Nilai bukan nol: Gagal. Kode kesalahan dikembalikan.
StopAudioPlayer
Menghentikan pemutaran audio.
virtual int StopAudioPlayer() = 0;Metode ini dapat mengontrol penghentian pemutaran audio. Metode ini berkorespondensi dengan AliEngine::StartAudioPlayer.
Parameter
Tidak ada.
Nilai kembali
0: Sukses.
Nilai bukan nol: Gagal. Kode kesalahan dikembalikan.
SetPlayoutVolume
Menetapkan volume pemutaran.
virtual int SetPlayoutVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume pemutaran. Rentangnya adalah [0,400]. 0: Senyap. >100: Memperkuat volume. <100: Mengurangi volume. |
Return value
0: Sukses.
Nilai bukan nol: Gagal. Kode kesalahan dikembalikan.
Mengatur Volume Perekaman
virtual int SetRecordingVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume pemutaran dengan rentang [0, 400]. Nilai 0 berarti bisu; nilai di atas 100 memperkuat volume, sedangkan nilai di bawah 100 mengurangi volume. |
Return value
0: Sukses.
Nilai bukan nol: Gagal. Kode kesalahan dikembalikan.
PlayAudioFileTest
Memainkan file audio.
virtual int PlayAudioFileTest(const char* filePath) = 0;Parameter
Nama | Tipe | Deskripsi |
filePath | const char* | Jalur file audio yang akan diputar. |
Nilai kembali
0: Sukses.
<0: Gagal.
StopAudioFileTest
Menghentikan pemutaran file audio.
virtual int StopAudioFileTest() = 0;Nilai kembali
0: Sukses.
<0: Gagal.
StartAudioCaptureTest
Memulai pengujian penangkapan audio sebelum panggilan.
virtual int StartAudioCaptureTest() = 0;Metode ini dapat mengontrol dimulainya pengujian perekaman audio. Hasil dari callback AliEngineEventListener::OnTestAudioVolumeCallback digunakan untuk menentukan apakah perekaman audio berjalan normal.
Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran (JoinChannel).
Nilai kembali
0: Berhasil.
<0: Gagal.
StopAudioCaptureTest
Menghentikan tes perekaman audio.
virtual int StopAudioCaptureTest() = 0;Anda hanya dapat memanggil metode ini sebelum bergabung ke saluran (JoinChannel).
Nilai kembali
0: Sukses.
<0: Gagal.
EnableSystemAudioRecording
Mengaktifkan atau menonaktifkan penangkapan dan publikasi audio sistem.
virtual int EnableSystemAudioRecording(bool enable, const char *path = nullptr, const char *device_id = nullptr) = 0;Metode ini mengaktifkan atau menonaktifkan penangkapan audio sistem, seperti suara dari browser dan aplikasi.
Metode ini hanya didukung di Windows dan macOS.
Parameter
Nama | Tipe | Deskripsi |
enable | bool | Mengaktifkan atau menonaktifkan pengambilan dan penerbitan audio sistem.
|
path | const char* | Jika path kosong, suara seluruh sistem akan diambil. Jika path merupakan jalur program .exe, program tersebut akan dijalankan dan suaranya diambil. |
device_id | const char* | Jika path kosong, suara dari perangkat kartu suara default akan diambil. Jika tidak, suara yang diputar oleh perangkat dengan device_id ini akan diambil. Gunakan ID yang dikembalikan oleh GetSystemRecordAudioPlayerList. |
Nilai pengembalian
0: Panggilan metode berhasil.
<0: Panggilan metode gagal.
IsSystemAudioRecording
Memeriksa apakah perekaman dan publikasi audio sistem saat ini diaktifkan.
virtual bool IsSystemAudioRecording() = 0;Untuk mengaktifkan atau menonaktifkan perekaman audio sistem, panggil EnableSystemAudioRecording. Metode ini hanya berlaku pada platform Windows dan macOS.
Nilai kembalian
true: Diaktifkan.
false: Dinonaktifkan.
SetSystemAudioRecordingVolume
Mengatur volume pengambilan dan penerbitan audio sistem.
virtual int SetSystemAudioRecordingVolume(int volume) = 0;Metode ini hanya berlaku pada platform Windows dan macOS.
Metode ini hanya dapat diatur setelah pengambilan dan penerbitan audio sistem diaktifkan. Jika tidak, pengaturan tersebut tidak valid.
Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume ingest dari pengambilan sistem. Rentangnya adalah [0-400]. |
Nilai kembali
0: Sukses.
<0: Gagal.
GetSystemAudioRecordingVolume
Mendapatkan volume perekaman dan publikasi audio sistem saat ini.
virtual int GetSystemAudioRecordingVolume() = 0;Metode ini hanya berlaku pada platform Windows dan macOS.
Nilai kembali
Volume ingest perekaman sistem.
SetSystemAudioPlayoutVolume
Mengatur volume pemutaran audio sistem.
virtual int SetSystemAudioPlayoutVolume(int volume) = 0;Metode ini hanya berlaku pada platform Windows dan macOS.
Metode ini hanya dapat diatur setelah pengambilan dan penerbitan audio sistem diaktifkan. Jika tidak, pengaturan tersebut tidak valid.
Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume pemutaran dari pengambilan sistem. Rentang nilainya adalah [0-400]. |
Return value
0: Berhasil.
<0: Gagal.
GetSystemAudioPlayoutVolume
Mengembalikan volume playout audio sistem saat ini.
virtual int GetSystemAudioPlayoutVolume() = 0;Fungsi ini hanya didukung pada platform Windows dan macOS.
Return value
Volume pemutaran audio sistem.
GetAudioCaptureList
Mendapatkan daftar perangkat perekaman dalam sistem.
virtual AliEngineDeviceInfoList* GetAudioCaptureList() = 0;Nilai kembali
Sebuah pointer ke daftar perangkat perekaman, AliEngineDeviceInfoList *.
GetCurrentAudioCaptureName
Mendapatkan nama perangkat tangkapan audio yang sedang digunakan.
virtual String GetCurrentAudioCaptureName() = 0;Nilai kembali
Sebuah string yang merepresentasikan nama perangkat tangkapan audio saat ini.
GetCurrentAudioCaptureID
Mendapatkan ID perangkat perekaman yang sedang digunakan.
virtual String GetCurrentAudioCaptureID() = 0;Nilai kembali
ID perangkat perekaman yang saat ini sedang digunakan.
SetCurrentAudioCaptureName
Memilih perangkat perekaman berdasarkan nama.
virtual int SetCurrentAudioCaptureName(const char* captureName) = 0;Parameter
Nama | Tipe | Deskripsi |
captureName | const char * | Nama perangkat perekaman. |
Nilai kembali
0 untuk keberhasilan, nilai lain untuk kegagalan.
SetCurrentAudioCaptureID
Memilih perangkat perekaman berdasarkan ID.
virtual int SetCurrentAudioCaptureID(const char* captureID) = 0;Parameter
Nama | Tipe | Deskripsi |
captureID | const char * | ID perangkat perekaman. |
Nilai kembali
0 untuk keberhasilan, nilai lain untuk kegagalan.
GetAudioPlayerList
Mendapatkan daftar speaker dalam sistem.
virtual AliEngineDeviceInfoList* GetAudioPlayerList() = 0;Nilai kembalian
Sebuah pointer ke daftar speaker dalam sistem, AliEngineDeviceInfoList *.
GetSystemRecordAudioPlayerList
Mendapatkan daftar speaker yang dapat direkam dalam sistem (untuk perekaman internal sistem).
virtual AliEngineDeviceInfoList* GetSystemRecordAudioPlayerList() = 0;Nilai kembali
Daftar perangkat pemutaran audio terutama disediakan untuk EnableSystemAudioRecording sebagai parameter terakhir untuk menangkap audio pemutaran sistem.
GetCurrentAudioPlayerName
Mendapatkan nama speaker yang sedang digunakan.
virtual String GetCurrentAudioPlayerName() = 0;Nilai kembali
Nama perangkat pemutaran audio saat ini.
GetCurrentAudioPlayerID
Mendapatkan ID speaker yang sedang digunakan.
virtual String GetCurrentAudioPlayerID() = 0;Nilai kembali
ID perangkat pemutaran audio saat ini.
SetCurrentAudioPlayerName
Pilih nama speaker.
virtual int SetCurrentAudioPlayerName(const char* playerName) = 0;Nilai kembali
Nama perangkat pemutaran audio.
SetCurrentAudioPlayerID
Memilih speaker berdasarkan ID.
virtual int SetCurrentAudioPlayerID(const char* playerID) = 0;Parameter
Nama | Tipe | Deskripsi |
playerID | const char * | ID perangkat pemutaran. |
Nilai kembali
0 untuk keberhasilan, nilai lainnya untuk kegagalan.
SetRecordingDeviceVolume
Mengatur volume perangkat perekaman audio. Rentang volume adalah [0, 100].
virtual int SetRecordingDeviceVolume(int volume) = 0;Daftar parameter
Nama | Tipe | Deskripsi |
volume | int | Volume [0..100]. |
Nilai kembali
0 untuk keberhasilan, nilai lainnya untuk kegagalan.
GetRecordingDeviceVolume
Mendapatkan volume perangkat perekam audio.
virtual int GetRecordingDeviceVolume() = 0;Nilai kembali
>=0 mengembalikan volume. Nilai lain menunjukkan kegagalan.
SetPlaybackDeviceVolume
Mengatur volume perangkat pemutaran audio. Rentang volume adalah [0, 100].
virtual int SetPlaybackDeviceVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume [0..100] |
Nilai kembali
0 untuk keberhasilan, nilai lain untuk kegagalan.
GetPlaybackDeviceVolume
Mendapatkan volume perangkat pemutaran audio.
virtual int GetPlaybackDeviceVolume() = 0;Nilai kembali
>=0 adalah volume sistem. Nilai lain menunjukkan kegagalan.
SetRecordingDeviceMute
Meredam perangkat perekaman audio.
virtual int SetRecordingDeviceMute(bool mute) = 0;Parameter
Nama | Tipe | Deskripsi |
mute | bool | Apakah perekaman akan diredam atau tidak. |
Nilai kembali
0 untuk keberhasilan, nilai lainnya untuk kegagalan.
GetRecordingDeviceMute
Mendapatkan status bisu perangkat perekaman audio.
virtual bool GetRecordingDeviceMute() = 0;Nilai kembali
Apakah perekaman dalam keadaan dibisukan atau tidak.
SetPlaybackDeviceMute
Membisukan perangkat pemutaran audio.
virtual int SetPlaybackDeviceMute(bool mute) = 0;Parameter
Nama | Tipe | Deskripsi |
mute | bool | Menentukan apakah perekaman akan diredam atau tidak. |
Nilai kembali
0 untuk keberhasilan, nilai lainnya untuk kegagalan.
GetPlaybackDeviceMute
Mendapatkan status bisu perangkat pemutaran audio.
virtual bool GetPlaybackDeviceMute() = 0;Return value
Apakah perangkat pemutaran dalam keadaan dibisukan atau tidak.
SetAudioEffectVoiceChangerMode
Mengatur mode efek pengubah suara.
virtual int SetAudioEffectVoiceChangerMode(const AliEngineAudioEffectVoiceChangerMode &mode) = 0;Parameter
Nama | Tipe | Deskripsi |
mode | Nilai mode. Nilai default adalah AliEngineAudioEffectVoiceChangerOff. |
Return value
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SetAudioEffectPitchValue
Mengatur parameter perubahan pitch.
virtual int SetAudioEffectPitchValue(double value) = 0;Parameter
Nama | Tipe | Deskripsi |
value | double | Rentangnya adalah [0,5, 2,0]. Nilai default-nya adalah 1,0, yang berarti pitch tidak berubah. |
Return value
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SetAudioEffectReverbMode
Mengatur mode efek gema (reverberation).
virtual int SetAudioEffectReverbMode(const AliEngineAudioEffectReverbMode& mode) = 0;Parameter
Nama | Tipe | Deskripsi |
mode | Mode efek suara. Nilai default adalah AliEngineAudioEffectReverbOff. |
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
SetAudioEffectReverbParamType
Mengatur jenis efek reverberasi dan parameter spesifiknya.
virtual int SetAudioEffectReverbParamType(const AliEngineAudioEffectReverbParamType& type,
float value) = 0;Parameter
Nama | Tipe | Deskripsi |
type | Mode reverberasi efek suara. | |
value | float | Nilai parameter spesifik. |
Nilai kembali
0 menunjukkan pemanggilan metode berhasil. Nilai lain menunjukkan pemanggilan metode gagal.
AddExternalAudioStream
Menambahkan aliran audio eksternal.
virtual int AddExternalAudioStream(const AliEngineExternalAudioStreamConfig& config) = 0;Metode ini menambahkan aliran audio eksternal baru. Langkah-langkahnya adalah sebagai berikut:
Panggil API
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#991b862eb353w" id="08ee3d1ed35jj">AddExternalAudioStream</a>untuk menambahkan aliran audio eksternal dan mendapatkan ID aliran audio eksternal tersebut.Panggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e6cf3f7cef0g6" id="fae817d0f00p3">PushExternalAudioStreamRawData</a>untuk mendorong data audio ke aliran audio yang telah dibuat.Saat panggilan berakhir, Anda perlu memanggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#u27oe" id="3b9a3eb119umh">RemoveExternalAudioStream</a>untuk menghapus aliran audio eksternal tersebut.
Untuk memublikasikan audio hasil tangkapan kustom dalam saluran, lihat dokumen Custom audio capture.
Parameter
Nama | Tipe | Deskripsi |
config | AliEngineExternalAudioStreamConfig | Konfigurasi aliran audio eksternal. |
Nilai pengembalian
Nilai lebih besar dari 0 menunjukkan pemanggilan metode berhasil, dan nilai kembali tersebut merupakan ID aliran audio eksternal. Nilai lainnya menunjukkan pemanggilan metode gagal.
PushExternalAudioStreamRawData
Memasukkan data aliran audio eksternal.
virtual int PushExternalAudioStreamRawData(int streamId, AliEngineAudioRawData& data) = 0;Metode ini meneruskan data ke aliran audio yang ditentukan. Langkah-langkahnya adalah sebagai berikut:
Panggil operasi
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#991b862eb353w" id="3836ac109732c">AddExternalAudioStream</a>untuk menambahkan aliran audio eksternal dan memperoleh ID aliran audio eksternal.Panggil
PushExternalAudioStreamRawDatauntuk mendorong data audio ke aliran audio yang dibuat.Saat panggilan berakhir, Anda harus memanggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#u27oe" id="398ea88d61fn0">RemoveExternalAudioStream</a>untuk menghapus aliran audio eksternal tersebut.
Untuk memublikasikan audio hasil tangkapan kustom dalam saluran, lihat Custom audio capture.
Deskripsi metrik
Nama | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
data | Data audio. |
Nilai pengembalian
Nilai 0 menunjukkan bahwa pemanggilan berhasil. Nilai selain 0 menunjukkan bahwa pemanggilan gagal.
SetExternalAudioStreamPublishVolume
Menetapkan volume publikasi aliran audio eksternal.
virtual int SetExternalAudioStreamPublishVolume(int streamId, int vol) = 0;Parameter
Nama | Tipe | Deskripsi |
streamId | int | ID aliran audio eksternal. |
vol | int | Volume publikasi. |
Returns
Mengembalikan 0 jika metode dipanggil berhasil. Mengembalikan nilai bukan nol jika pemanggilan metode gagal.
SetExternalAudioStreamPlayoutVolume
Mengatur volume pemutaran untuk aliran audio eksternal.
virtual int SetExternalAudioStreamPlayoutVolume(int streamId, int vol) = 0;Parameter
Nama | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
vol | int | Volume pemutaran. |
Nilai kembali
Nilai kembali 0 menunjukkan pemanggilan metode berhasil. Nilai lainnya menunjukkan pemanggilan gagal.
GetExternalAudioStreamPublishVolume
Mendapatkan volume publikasi dari aliran audio eksternal.
virtual int GetExternalAudioStreamPublishVolume(int streamId) = 0;Parameter
Nama | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
Returns
Volume publikasi, dari 0 hingga 100. Nilai kurang dari 0 menunjukkan kegagalan.
GetExternalAudioStreamPlayoutVolume
Mendapatkan volume pemutaran dari aliran audio eksternal.
virtual int GetExternalAudioStreamPlayoutVolume(int streamId) = 0;Parameter
Nama | Tipe | Deskripsi |
streamId | int | ID dari aliran audio eksternal. |
Returns
Volume pemutaran, dari 0 hingga 100. Nilai kurang dari 0 menunjukkan kegagalan.
RemoveExternalAudioStream
Menghapus aliran audio eksternal.
virtual int RemoveExternalAudioStream(int streamId) = 0;Metode ini menghapus aliran audio eksternal yang sesuai dengan streamId yang ditentukan. Ini merupakan pasangan dari metode AddExternalAudioStream.
Kapan harus memanggil
Jika Anda ingin menggunakan fitur input audio kustom, Anda perlu memanggil metode AddExternalAudioStream untuk menambahkan aliran audio dan mendapatkan ID aliran audio eksternal. Setelah itu, panggil antarmuka <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#e6cf3f7cef0g6" id="bdab74f108i1p">PushExternalAudioStreamRawData</a> untuk memasukkan data audio Anda ke SDK. Ketika Anda ingin berhenti menggunakan input audio kustom, panggil antarmuka ini untuk menghapus aliran audio eksternal yang sesuai dan membersihkan sumber daya.
Parameter
Nama | Tipe | Deskripsi |
streamId | int | ID aliran audio. |
Nilai kembali
Mengembalikan 0 jika berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan gagal.
GetAudioFileInfo
Mendapatkan informasi file audio.
virtual int GetAudioFileInfo(const char *filePath) = 0;Ini adalah antarmuka asinkron. Anda dapat memperoleh informasi file audio melalui AliEngineEventListener::OnAudioFileInfo.
Parameter
Nama | Tipe | Deskripsi |
filePath | const char * | Path dari file audio. |
Returns
0: Sukses.
Nilai bukan nol: Gagal. Kode kesalahan dikembalikan.
StartAudioAccompany
Memulai pencampuran iringan audio.
virtual int StartAudioAccompany(const char *filePath, const AliEngineAudioAccompanyConfig& config) = 0;Ini adalah metode asinkron. Anda dapat memantau status pemutar iringan audio melalui AliEngineEventListener::OnAudioAccompanyStateChanged.
Parameter
Nama | Tipe | Deskripsi |
filePath | const char * | Path file audio. |
config | Konfigurasi pemutaran iringan audio. |
Return value
0: Sukses.
Nilai bukan nol: Gagal. Kode kesalahan dikembalikan.
StopAudioAccompany
Menghentikan pencampuran iringan audio.
virtual int StopAudioAccompany() = 0;Returns
0: Berhasil.
Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.
SetAudioAccompanyVolume
Menetapkan volume dari audio iringan.
virtual int SetAudioAccompanyVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume audio iringan. Nilainya berkisar dari 0 hingga 100.
|
Returns
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.
SetAudioAccompanyPublishVolume
Mengatur volume pengambilan aliran untuk iringan audio.
virtual int SetAudioAccompanyPublishVolume(int volume) = 0;Pengaturan volume hanya berlaku setelah memanggil AliEngine::StartAudioAccompany.
Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume pengambilan aliran untuk iringan audio. Rentang nilainya adalah [0, 100].
|
Returns
0: Sukses.
Nilai bukan nol: Gagal. Nilai tersebut merupakan kode kesalahan.
GetAudioAccompanyPublishVolume
Mendapatkan volume publikasi dari audio pendamping.
virtual int GetAudioAccompanyPublishVolume() = 0;Returns
Volume publikasi dari audio pendamping. Nilainya berkisar antara 0 hingga 100.
SetAudioAccompanyPlayoutVolume
Menetapkan volume pemutaran lokal dari audio iringan.
virtual int SetAudioAccompanyPlayoutVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume pemutaran audio iringan. Nilai berkisar antara 0 hingga 100.
|
Returns
0: Sukses.
Nilai bukan nol: Gagal. Kode kesalahan dikembalikan.
GetAudioAccompanyPlayoutVolume
Mendapatkan volume pemutaran lokal dari audio iringan.
virtual int GetAudioAccompanyPlayoutVolume() = 0;Returns
Volume pemutaran lokal dari audio iringan. Nilainya berkisar antara 0 hingga 100.
PauseAudioAccompany
Menghentikan sementara pencampuran suara iringan.
virtual int PauseAudioAccompany() = 0;Returns
0: Panggilan berhasil.
Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.
ResumeAudioAccompany
Melanjutkan pencampuran iringan audio.
virtual int ResumeAudioAccompany() = 0;Returns
0: Berhasil.
Nilai bukan nol: Gagal. Nilai tersebut adalah kode kesalahan.
GetAudioAccompanyDuration
Mendapatkan durasi file iringan audio dalam milidetik.
virtual int GetAudioAccompanyDuration() = 0;Pengembalian
Durasi file iringan audio dalam milidetik.
GetAudioAccompanyCurrentPosition
Mendapatkan posisi pemutaran saat ini dari file iringan audio dalam milidetik.
virtual int GetAudioAccompanyCurrentPosition() = 0;Pengembalian
Posisi pemutaran saat ini dari file iringan audio, dalam milidetik.
SetAudioAccompanyPosition
Mengatur posisi pemutaran file iringan.
virtual int SetAudioAccompanyPosition(int pos) = 0;Mengembalikan
0: Sukses.
Nilai bukan nol: Panggilan gagal. Kode kesalahan dikembalikan.
PreloadAudioEffect
Memuat terlebih dahulu file efek suara.
virtual int PreloadAudioEffect(unsigned int soundId,
const char *filePath) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang Anda tetapkan untuk berkas efek suara tersebut. |
filePath | const char * | Path file efek suara. |
Returns
Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.
UnloadAudioEffect
Membatalkan pemuatan file efek suara yang telah dimuat sebelumnya.
virtual int UnloadAudioEffect(unsigned int soundId) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | NSInteger | ID yang diberikan ke file efek suara. |
Returns
0 menunjukkan pemanggilan berhasil. Nilai lain menunjukkan pemanggilan gagal.
PlayAudioEffect
Memainkan efek suara.
virtual int PlayAudioEffect(unsigned int soundId, const char *filePath, const AliEngineAudioEffectConfig& config) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang ditetapkan untuk file efek suara. |
filePath | const char * | Jalur file efek suara. |
config | AliEngineAudioEffectConfig | Konfigurasi efek suara. |
Return value
0 menunjukkan pemanggilan berhasil. Nilai lain menunjukkan pemanggilan gagal.
StopAudioEffect
Menghentikan pemutaran efek suara.
virtual int StopAudioEffect(unsigned int soundId) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang diberikan ke file efek suara. |
Return value
Mengembalikan 0 jika metode dipanggil berhasil. Mengembalikan nilai lain jika pemanggilan metode gagal.
StopAllAudioEffects
Menghentikan semua efek suara.
- (int)StopAllAudioEffects;Nilai kembalian
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
PauseAudioEffect
Menghentikan sementara efek suara.
virtual int PauseAudioEffect(unsigned int soundId) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang Anda tetapkan untuk file efek suara. |
Returns
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
PauseAllAudioEffects
Menghentikan sementara semua efek suara.
virtual int PauseAllAudioEffects() = 0;Returns
Nilai 0 menunjukkan pemanggilan metode berhasil. Nilai lainnya menunjukkan pemanggilan metode gagal.
ResumeAudioEffect
Melanjutkan pemutaran efek suara.
virtual int ResumeAudioEffect(unsigned int soundId) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang diberikan ke file efek suara. |
Returns
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lain menunjukkan bahwa pemanggilan metode gagal.
ResumeAllAudioEffects
Melanjutkan pemutaran semua efek suara.
virtual int ResumeAllAudioEffects() = 0;Returns
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal.
SetAudioEffectPublishVolume
Mengatur volume efek suara untuk pengambilan aliran.
virtual int SetAudioEffectPublishVolume(unsigned int soundId, int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang diberikan ke file efek suara. |
volume | int | Volume pencampuran. Rentang nilainya adalah [0, 100]. Nilai default-nya adalah 50. |
Nilai kembali
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lain menunjukkan bahwa pemanggilan metode gagal.
GetAudioEffectPublishVolume
Mendapatkan volume efek suara yang diterbitkan.
virtual int GetAudioEffectPublishVolume(unsigned int soundId) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang ditetapkan untuk file efek suara. |
Returns
Nilai kembali 0 menunjukkan keberhasilan. Nilai lainnya menunjukkan kegagalan.
SetAllAudioEffectsPublishVolume
Menetapkan volume publikasi untuk semua efek suara.
virtual int SetAllAudioEffectsPublishVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume publikasi efek suara. Nilainya berkisar dari 0 hingga 100. Nilai default adalah 50. |
Returns
Mengembalikan 0 jika berhasil. Nilai lainnya menunjukkan terjadi kesalahan.
SetAudioEffectPlayoutVolume
Menetapkan volume pemutaran lokal dari efek suara.
virtual int SetAudioEffectPlayoutVolume(unsigned int soundId, int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID dari efek suara. |
volume | int | Volume pemutaran. Nilai yang valid: 0 hingga 100. Nilai default: 50. |
Returns
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
GetAudioEffectPlayoutVolume
Mendapatkan volume pemutaran lokal dari efek suara.
virtual int GetAudioEffectPlayoutVolume(unsigned int soundId) = 0;Parameter
Nama | Tipe | Deskripsi |
soundId | unsigned int | ID yang Anda tetapkan untuk file efek suara. |
Returns
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lainnya menunjukkan bahwa pemanggilan metode gagal.
SetAllAudioEffectsPlayoutVolume
Mengatur volume pemutaran untuk semua efek suara.
virtual int SetAllAudioEffectsPlayoutVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume pemutaran. Nilai berkisar antara 0 hingga 100. Nilai default adalah 50. |
Return value
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa panggilan gagal.
SetAllAudioEffectsPublishVolume
Mengatur volume pengambilan aliran untuk semua efek suara.
virtual int SetAllAudioEffectsPublishVolume(int volume) = 0;Parameter
Nama | Tipe | Deskripsi |
volume | int | Volume pencampuran. Nilainya berkisar dari 0 hingga 100. Nilai default-nya adalah 50. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lain menunjukkan bahwa pemanggilan gagal.
SetLocalViewConfig
Mengatur jendela rendering dan parameter rendering untuk pratinjau video lokal.
virtual int SetLocalViewConfig(AliEngineVideoCanvas renderConfig,
AliEngineVideoTrack track) = 0;Metode ini mengatur tampilan pratinjau lokal. Metode ini menyambungkan aliran video lokal ke jendela tampilan (view) dan mengonfigurasi pengaturan rendering-nya, seperti mode rendering, mode cermin, dan sudut rotasi. Pengaturan ini hanya memengaruhi pratinjau lokal dan tidak memengaruhi aliran video yang dipublikasikan. Untuk mengatur tampilan pengguna jarak jauh, panggil SetRemoteViewConfig.
Jika parameter view dalam AliEngineVideoCanvas bernilai null, rendering akan berhenti.
Untuk mengatur ulang parameter renderMode dari AliEngineVideoCanvas selama pemutaran, ubah hanya nilai renderMode dan pertahankan parameter lainnya tetap sama.
Untuk mengatur ulang parameter mirrorMode dari AliEngineVideoCanvas selama pemutaran, ubah hanya nilai mirrorMode dan pertahankan parameter lainnya tetap sama.
Panggil secara eksplisit StartPreview() untuk memulai pratinjau lokal.
Kapan harus memanggil
Panggil metode ini sebelum atau setelah bergabung ke saluran.
Parameter
Nama | Tipe | Deskripsi |
renderConfig | Parameter rendering, yang mencakup jendela rendering dan mode rendering. | |
track | Tipe trek video. |
Pengembalian
0 menunjukkan bahwa metode berhasil dipanggil. Nilai selain 0 menunjukkan bahwa pemanggilan gagal.
SetCameraCapturerConfiguration
Mengonfigurasi preferensi penangkapan kamera, seperti arah kamera dan laju frame penangkapan.
virtual int SetCameraCapturerConfiguration(const AliEngineCameraCapturerConfiguration& config) = 0;Metode ini mengonfigurasi preferensi penangkapan kamera, seperti arah kamera dan laju frame.
Kapan harus memanggil
Panggil metode ini sebelum membuka kamera, misalnya, sebelum melakukan operasi berikut:
StartPreview
JoinChannel
Parameter
Nama | Tipe | Deskripsi |
config | Preferensi pengambilan kamera, seperti arah kamera dan laju frame. Nilai default-nya adalah sebagai berikut:
"-1" menunjukkan penggunaan pengaturan default SDK. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa panggilan gagal.
EnableLocalVideo
Menonaktifkan atau mengaktifkan kembali pengambilan video lokal.
virtual int EnableLocalVideo(bool enabled) = 0;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 aliran video jarak jauh. Jika metode ini dipanggil untuk menonaktifkan kamera lokal, baik pratinjau lokal maupun aliran keluar akan membekukan pada bingkai terakhir.
Pengambilan video lokal diaktifkan secara default.
Kapan harus memanggil
Panggil metode ini sebelum atau setelah Anda bergabung ke saluran.
Callback terkait
Pemanggilan metode ini yang berhasil akan memberi tahu pengguna jarak jauh melalui callback OnUserVideoEnabled.
Parameter
Nama | Tipe | Deskripsi |
enable | bool | true: Mengaktifkan pengambilan video lokal. Ini adalah nilai default. false: Menonaktifkan pengambilan video lokal. |
Pengembalian
Mengembalikan 0 jika pemanggilan metode berhasil. Mengembalikan nilai bukan nol jika pemanggilan gagal.
MuteLocalCamera
Menghentikan atau melanjutkan pengiriman data video lokal.
virtual int MuteLocalCamera(bool mute, AliEngineVideoTrack track) = 0;Panggil metode ini selama pengambilan aliran untuk mengirim frame video hitam. Pratinjau lokal tidak terpengaruh. Modul penangkapan, pengkodean, dan pengiriman tetap berjalan, tetapi konten video diganti dengan frame hitam.
Metode ini hanya mengontrol apakah akan mengirim frame hitam pada aliran video tertentu. Metode ini tidak menghentikan penangkapan video atau pengiriman data. Untuk menonaktifkan penangkapan video, gunakan metode EnableLocalVideo. Untuk menghentikan pengiriman data video, gunakan metode PublishLocalVideoStream.
Parameter
Nama | Tipe | Deskripsi |
mute | bool | Menentukan apakah akan mengirim frame hitam. Nilai default-nya adalah false.true: Mengirim frame hitam.false: Melanjutkan pengaliran video normal. |
track | Track video yang status penerbitannya ingin Anda ubah. |
Nilai Kembali
Mengembalikan 0 jika pemanggilan metode berhasil. Mengembalikan nilai bukan nol jika pemanggilan gagal.
SetRemoteViewConfig
Mengatur jendela rendering dan parameter rendering untuk video jarak jauh.
virtual int SetRemoteViewConfig(AliEngineVideoCanvas renderConfig,
const char *uid,
AliEngineVideoTrack track) = 0;Metode ini menyambungkan tampilan untuk aliran video tertentu dari pengguna jarak jauh dan mengatur mode rendering, mode cermin (mirror), serta sudut rotasi untuk tampilan lokal, yang hanya memengaruhi citra video yang dilihat oleh pengguna lokal. Jika Anda perlu mengatur tampilan pratinjau lokal, panggil <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#fbc8ab10f5e03" id="c0f59b8c26y7o">SetLocalViewConfig</a>.
Jika parameter view dalam AliEngineVideoCanvas kosong, rendering berhenti.
Untuk mengatur ulang parameter renderMode dari AliEngineVideoCanvas selama pemutaran, ubah hanya renderMode dan pertahankan parameter lainnya tetap tidak berubah.
Untuk mengatur ulang parameter mirrorMode dari AliEngineVideoCanvas selama pemutaran, ubah hanya mirrorMode dan pertahankan parameter lainnya tetap tidak berubah.
Kapan harus memanggil
Panggil metode ini ketika Anda menerima callback OnRemoteTrackAvailableNotify. Callback ini menunjukkan bahwa aliran video pengguna jarak jauh aktif.
Parameter
Nama | Tipe | Deskripsi |
canvas | Parameter rendering, yang mencakup jendela rendering dan mode rendering. | |
uid | const char * | ID pengguna. |
track | Jenis trek video yang akan ditetapkan. |
Nilai kembali
Nilai kembali 0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
IsCameraOn
Memeriksa apakah kamera menyala.
virtual bool IsCameraOn() = 0;Return value
Mengembalikan YES jika kamera menyala. Mengembalikan NO jika kamera mati.
SetVideoEncoderConfiguration
Mengatur properti pengkodean video.
virtual void SetVideoEncoderConfiguration(const AliEngineVideoEncoderConfiguration& config) = 0;Gunakan metode ini untuk mengatur parameter video untuk aliran video. Parameter-parameter tersebut mencakup resolusi, laju frame, bitrate, dan orientasi video. Panggil metode ini untuk semua skenario video.
Semua parameter memiliki batas rentang. Jika suatu parameter diatur di luar rentang yang valid, SDK akan menyesuaikannya secara otomatis.
Kapan harus memanggil
Panggil metode ini sebelum atau setelah bergabung dalam rapat. Untuk mengatur properti pengkodean video hanya sekali per rapat khusus untuk aliran kamera, panggil metode ini sebelum bergabung.
Batasan pemanggilan
Baik parameter `mirrorMode` pada metode ini maupun metode setVideoMirrorMode dapat mengatur cermin video untuk pengambilan aliran. Gunakan hanya salah satu opsi tersebut. Jika Anda menggunakan keduanya, efek cermin mungkin bertumpuk. Hal ini dapat menyebabkan pengaturan cermin gagal atau berperilaku tidak sesuai harapan.
Parameter
Nama | Tipe | Deskripsi |
config | Properti pengkodean yang telah ditentukan sebelumnya. Nilai default-nya adalah:
|
SetVideoDecoderConfiguration
Menetapkan properti dekoding video untuk aliran kamera. Properti ini mencakup pengaturan dekoding perangkat lunak atau perangkat keras dan apakah akan mengaktifkan B-frame.
virtual void SetVideoDecoderConfiguration(const AliEngineVideoDecoderConfiguration& config) = 0;Kapan harus memanggil
Panggil metode ini sebelum bergabung ke konferensi dan menarik aliran.
Parameter
Parameter | Tipe | Deskripsi |
config | Struktur yang menjelaskan properti decoding video, termasuk properti utama dan nilai default-nya. |
StartPreview
Memulai pratinjau lokal dan secara otomatis mengaktifkan kamera.
virtual int StartPreview(int width = 0, int height = 0) = 0;Metode ini memulai pratinjau video lokal dan secara otomatis mengaktifkan kamera. Untuk menghentikan pratinjau lokal, panggil metode StopPreview.
Pemanggilan LeaveChannel secara otomatis menghentikan pratinjau lokal. Jika Anda tidak melakukan ingest aliran kamera, kamera juga akan secara otomatis dimatikan.
Kapan harus memanggil
Sebelum memanggil metode ini, panggil SetLocalViewConfig untuk menetapkan tampilan bagi pratinjau lokal. Jika Anda tidak menetapkan tampilan, pratinjau tidak akan ditampilkan. Ingest aliran tidak terpengaruh.
Sesuai kebutuhan, panggil metode ini sebelum Anda memanggil JoinChannel untuk memulai pratinjau. Kamera akan secara otomatis diaktifkan.
Nilai Pengembalian
0 menunjukkan bahwa metode berhasil dipanggil. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
StopPreview
Menghentikan pratinjau lokal.
virtual int StopPreview() = 0;Metode ini menghentikan pratinjau video lokal dan mematikan Kamera. Setelah pratinjau dihentikan, tampilan video lokal membekukan pada bingkai terakhir. Hal ini tidak memengaruhi pengambilan aliran.
Meninggalkan saluran dengan memanggil LeaveChannel secara otomatis menghentikan pratinjau lokal. Jika Anda tidak sedang melakukan pengambilan aliran dari Kamera, Kamera juga akan dimatikan secara otomatis.
Kapan harus memanggil
Panggil metode ini untuk menghentikan pratinjau setelah pratinjau dimulai.
Return value
Nilai 0 menunjukkan bahwa pemanggilan metode berhasil. Nilai bukan nol menunjukkan bahwa pemanggilan metode gagal.
setVideoMirrorMode
Mengatur mode cermin untuk pratinjau lokal dan aliran video yang dipublikasikan.
virtual int setVideoMirrorMode(AliEngineVideoPipelineMirrorMode mirrorMode) = 0;Mengaktifkan atau menonaktifkan mode cermin untuk pratinjau video lokal dan aliran video yang dipublikasikan.
Metode ini memiliki prioritas lebih tinggi dibandingkan SetLocalViewConfig&SetVideoEncoderConfiguration. Panggil metode ini untuk mengatur mode cermin video.
Kapan harus memanggil
Anda dapat memanggil metode ini secara dinamis baik sebelum maupun setelah bergabung ke saluran. SDK mencatat status tersebut secara internal. Perubahan akan diterapkan pada video ketika pratinjau dan pengkodean (pengambilan aliran) tersedia.
Batasan
Fungsi metode ini tumpang tindih dengan parameter `mirrorMode` dalam SetLocalViewConfig&SetVideoEncoderConfiguration. Gunakan hanya metode ini.
Parameter
Nama | Tipe | Deskripsi |
mirrorMode | Mode cermin. |
Pengembalian
0: Pemanggilan metode berhasil.
<0: Pemanggilan metode gagal.
AliRtcErrInner: Terjadi kesalahan internal SDK. Periksa apakah instans SDK telah berhasil dibuat.
SetCapturePipelineScaleMode
Mengatur apakah akan menskalakan video yang ditangkap segera setelah penangkapan atau selama proses encoding.
virtual void SetCapturePipelineScaleMode(const AliEngineCapturePipelineScaleMode mode) = 0;Pengaturan ini berguna ketika resolusi penangkapan berbeda dari resolusi encoding. Pengaturan ini memungkinkan Anda mengontrol apakah data pratinjau sesuai dengan data untuk aliran yang dimasukkan (ingested stream).
Kapan harus memanggil
Panggil metode ini sebelum membuka kamera. Misalnya, panggil sebelum memulai pratinjau dengan StartPreview atau bergabung ke saluran dengan JoinChannel.
Parameter
Nama | Tipe | Deskripsi |
mode | Mengontrol kapan video yang ditangkap akan diskalakan. Secara default, penskalaan terjadi segera setelah penangkapan. |
GetCameraList
Mendapatkan daftar kamera.
virtual AliEngineDeviceInfoList* GetCameraList() = 0;Nilai kembali
Sebuah pointer ke objek daftar kamera, AliEngineDeviceInfoList*.
GetCurrentCameraName
Mendapatkan nama kamera yang sedang digunakan.
virtual String GetCurrentCameraName() = 0;Nilai kembali
Nama perangkat dari kamera yang sedang digunakan.
GetCurrentCameraID
Mendapatkan ID dari kamera saat ini.
virtual String GetCurrentCameraID() = 0;Nilai kembali
ID dari kamera saat ini.
SetCurrentCameraName
Mengatur kamera saat ini.
virtual int SetCurrentCameraName(const char* cameraName) = 0;Parameter
Nama | Tipe | Deskripsi |
cameraName | const char * | Nama perangkat dari kamera. |
Nilai pengembalian
Mengembalikan nilai 0 jika berhasil. Nilai bukan nol menunjukkan kegagalan.
SetCurrentCameraID
Menetapkan ID kamera saat ini.
virtual int SetCurrentCameraID(const char* cameraID) = 0;Parameter
Nama | Tipe | Deskripsi |
cameraID | const char * | ID perangkat. |
Nilai pengembalian
Mengembalikan 0 jika berhasil. Nilai bukan nol menunjukkan kegagalan.
GetCurrentCameraSupportedResolutionList
Mendapatkan resolusi yang didukung.
virtual AliEngineVideoResolutionList * GetCurrentCameraSupportedResolutionList(int source) = 0 ;Parameter
Nama | Tipe | Deskripsi |
source | int | Jenis perangkat. |
Nilai kembali
Mengembalikan daftar resolusi yang didukung. Mengembalikan NULL jika operasi gagal.
SetExternalVideoSource
Mengaktifkan sumber input video eksternal.
virtual int SetExternalVideoSource(bool enable,
AliEngineVideoTrack type,
AliEngineRenderMode renderMode) = 0;Parameter
Nama | Tipe | Deskripsi |
enable | bool | Atur ke true untuk mengaktifkan sumber input video eksternal, atau false untuk menonaktifkannya. |
type | Jenis aliran. | |
renderMode | Mode rendering. |
PushExternalVideoFrame
Mendorong data video eksternal.
virtual int PushExternalVideoFrame(const AliEngineVideoRawData &frame,
AliEngineVideoTrack type) = 0;Parameter
Nama | Tipe | Deskripsi |
frame | Data frame. | |
type | Tipe aliran. |
Return value
Mengembalikan 0 jika pemanggilan metode berhasil. Mengembalikan nilai lain jika pemanggilan metode gagal.
StartPublishLiveStream
Memulai aliran langsung bypass.
virtual int StartPublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding) = 0;Parameter
Nama | Type | Deskripsi |
streamUrl | const String | URL ingest. |
transcoding | Parameter untuk pengambilan aliran. |
Returns
Mengembalikan 0 untuk pemanggilan metode yang berhasil. Mengembalikan nilai bukan nol untuk pemanggilan metode yang gagal.
UpdatePublishLiveStream
Memperbarui parameter untuk streaming langsung tanpa proses tambahan.
virtual int UpdatePublishLiveStream(const String& streamURL, const AliEngineLiveTranscodingParam &transcoding) = 0;Parameter
Nama | Tipe | Deskripsi |
streamUrl | const String | URL ingest. |
transcoding | Parameter yang diperlukan untuk pengambilan aliran. |
Returns
Nilai kembali 0 menunjukkan bahwa metode dipanggil berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.
StopPublishLiveStream
Menghentikan aliran langsung bypass.
virtual int StopPublishLiveStream(const String& streamURL) = 0;Parameter
Nama | Tipe | Deskripsi |
streamURL | const String | URL ingest. |
Return value
0 menunjukkan bahwa pemanggilan metode berhasil. Nilai lain menunjukkan bahwa pemanggilan metode gagal.
GetPublishLiveStreamState
Mendapatkan status aliran langsung bypass.
virtual AliEngineLiveTranscodingState GetPublishLiveStreamState(const String& streamURL) = 0;Parameter
Parameter | Tipe | Deskripsi |
streamURL | const String | URL ingest. |
Returns
Mengembalikan status aliran langsung bypass.
StartLastmileDetect
Memulai uji probe kualitas jaringan last-mile. Masalah pada jaringan lokal dapat menyebabkan panggilan audio dan video gagal. Panggil metode ini untuk mendapatkan informasi seperti bandwidth jaringan uplink dan downlink, tingkat kehilangan paket, jitter, dan waktu respons (RT) tautan. Informasi ini membantu Anda menemukan dan mengatasi masalah jaringan.
virtual int StartLastmileDetect(bool uplink, bool downlink, int uplinkBandWidth, int downlinkBandWidth) = 0;Kapan harus memanggil
Panggil metode ini sebelum memanggil JoinChannel. Hasil pengujian dikembalikan melalui callback. Pengujian probe jaringan dapat memakan waktu cukup lama. Panggil StopLastmileDetect untuk menghentikan pengujian probe jaringan sesuai kebutuhan.
Batasan penggunaan
Kit pengembangan perangkat lunak (SDK) hanya dapat menjalankan satu pengujian probe jaringan dalam satu waktu. Jika Anda memanggil metode ini lagi sebelum pengujian sebelumnya selesai, pemanggilan tersebut akan gagal.
Callback terkait
Setelah Anda berhasil memanggil metode ini, dua callback akan dipicu:
OnLastmileDetectResultWithQuality: Callback ini dipicu sekitar 3 detik kemudian dan memberikan perkiraan kasar kualitas jaringan.
OnLastmileDetectResultWithBandWidth: Callback ini dipicu sekitar 30 detik kemudian dan memberikan hasil pengujian yang lebih rinci.
Parameter
Parameter | Tipe | Deskripsi |
uplink | bool | Menunjukkan apakah akan menguji jaringan uplink. |
downlink | bool | Menunjukkan apakah akan menguji jaringan downlink. |
uplinkBandWidth | int | Bandwidth maksimum untuk pengujian uplink. |
downlinkBandWidth | int | Bandwidth maksimum untuk pengujian downlink. |
Nilai kembalian
0: Pemanggilan metode berhasil.
<0: Pemanggilan metode gagal. Misalnya, Anda telah bergabung ke saluran.
StopLastmileDetect
Menghentikan probe kualitas jaringan.
virtual int StopLastmileDetect() = 0;Kapan harus memanggil
Panggil API ini setelah Anda membuat engine dan sebelum bergabung ke dalam rapat.
Nilai yang dikembalikan
0: Pemanggilan berhasil.
<0: Pemanggilan gagal.
SendMediaExtensionMsg
Mengirim pesan ekstensi media. Fitur ini diimplementasikan secara internal menggunakan Supplemental Enhancement Information (SEI).
virtual int SendMediaExtensionMsg(const int8_t * message, uint32_t length, int32_t repeatCount, uint32_t delay, bool isKeyFrame) = 0;SDK memungkinkan Anda mengirim dan menerima pesan ekstensi media. Untuk menerima pesan, lihat AliEngineEventListener::OnMediaExtensionMsgReceived. Pesan-pesan ini menggunakan kembali saluran data audio dan video. Oleh karena itu, kendalikan frekuensi dan panjang data pesan kustom Anda. Perhatikan batasan berikut:
Jumlah pesan yang dikirim per detik tidak boleh melebihi nilai frame per detik (fps) yang ditetapkan dalam profil.
Untuk menjaga kualitas transmisi data media, batasi isi pesan kustom hingga 4 KB. Hal ini memungkinkan Anda mentransfer data dalam jumlah kecil.
Parameter repeatCount dalam fungsi sendMediaExtensionMsg mengontrol redundansi pesan. Jika Anda menetapkan parameter ini ke nilai lebih besar dari 1, pesan akan dikirim beberapa kali. Hal ini membantu mencegah kehilangan pesan akibat loss paket jaringan. Pengguna lain dalam saluran akan menerima pesan yang sama beberapa kali. Sisi penerima harus menghapus duplikat pesan-pesan tersebut.
Pelanggan dalam saluran juga menerima pesan kustom ini selama live streaming bypass. Jika Anda menetapkan parameter repeatCount ke -1, pesan akan dikirim terus-menerus hingga Anda memanggil sendMediaExtensionMsg lagi.
Hanya satu pemanggilan sendMediaExtensionMsg yang diproses dalam satu waktu. Pemanggilan baru ke fungsi ini akan menimpa pemanggilan sebelumnya jika pemanggilan sebelumnya belum dikirim atau belum selesai.
Parameter
Nama | Tipe | Deskripsi |
message | const int8_t * | Isi dari pesan ekstensi. Panjang maksimum adalah 4 KB. |
length | uint32_t | Panjang pesan ekstensi. Panjang maksimum adalah 4 KB (4 × 1.024 byte). |
repeatCount | int32_t | Jumlah pengulangan. Ini merepresentasikan redundansi pesan dan digunakan untuk mencegah kehilangan pesan akibat loss paket jaringan. Nilai -1 berarti pesan dikirim ulang tanpa henti hingga SendMediaExtensionMsg dipanggil lagi. |
delay | uint32_t | Penundaan dalam milidetik sebelum pesan dikirim. Parameter ini menunda pengiriman SEI. SEI disambungkan ke aliran H.264 atau H.265 yang telah dikodekan. Oleh karena itu, penundaan aktual mungkin sedikit lebih lama daripada nilai yang ditentukan. |
isKeyFrame | bool | Menentukan apakah akan menambahkan SEI hanya pada keyframe. Jika diatur ke true, SEI hanya ditambahkan pada keyframe. |
Mengembalikan
0: Sukses.
<0: Gagal. Kode kesalahan dikembalikan.
ERR_INNER(-1): Terjadi kesalahan internal SDK. Hal ini dapat terjadi jika SDK belum diinisialisasi atau jika fungsi dipanggil setelah SDK dihapus.
SendMediaExtensionMsgEx
Mengirim pesan ekstensi media. Fungsi ini diimplementasikan secara internal menggunakan Informasi Peningkatan Tambahan (SEI).
virtual int SendMediaExtensionMsgEx(const int8_t * message, uint32_t length, int32_t repeatCount, uint32_t delay, bool isKeyFrame, int32_t payloadType) = 0;SDK menyediakan fitur untuk mengirim dan menerima SEI. Untuk detail di sisi penerima, lihat AliEngineEventListener::OnMediaExtensionMsgReceived. Saat menggunakan fitur ini, Anda perlu menggunakan kembali saluran data audio dan video. Oleh karena itu, Anda harus mengontrol frekuensi pengiriman pesan kustom dan panjang pesan tersebut. Perhatikan poin-poin berikut:
Jumlah maksimum pesan yang dikirim per detik tidak boleh melebihi nilai frames per second (fps) yang ditetapkan dalam profil.
Isi pesan kustom dibatasi hingga 4 KB untuk menghindari dampak negatif terhadap kualitas transmisi data media. Anda dapat menggunakannya untuk mentransmisikan data dalam jumlah kecil.
Parameter `repeatCount` pada 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. Anda harus menghapus duplikat pesan-pesan tersebut.
Pelanggan dalam saluran juga menerima pesan kustom selama live streaming bypass. Jika Anda mengatur parameter `repeatCount` ke -1, data dikirim tanpa batas. Pengiriman hanya berhenti jika Anda memanggil `sendMediaExtensionMsg` lagi.
Hanya satu panggilan `sendMediaExtensionMsg` yang diproses dalam satu waktu. Panggilan baru ke `sendMediaExtensionMsg` akan menimpa panggilan sebelumnya jika pesan sebelumnya belum dikirim atau masih dalam proses pengiriman.
Parameter
Nama | Tipe | Deskripsi |
message | const int8_t * | Konten pesan ekstensi. Panjang maksimum adalah 4 KB. |
length | uint32_t | Panjang pesan ekstensi. Panjang maksimum adalah 4 KB (4 × 1.024 byte). |
repeatCount | int32_t | Jumlah pengulangan pesan. Ini memberikan redundansi untuk mencegah kehilangan pesan akibat loss paket jaringan. Nilai -1 berarti pesan dikirim ulang tanpa batas hingga `SendMediaExtensionMsg` dipanggil lagi. |
delay | uint32_t | Penundaan dalam milidetik sebelum pesan dikirim. Ini menunda pengiriman SEI. Karena SEI disambungkan ke aliran H.264/H.265 yang telah dikodekan, penundaan aktual sedikit lebih lama daripada nilai yang dikonfigurasi. |
isKeyFrame | bool | Menentukan apakah SEI hanya ditambahkan ke keyframe. Jika diatur ke `true`, SEI hanya ditambahkan ke keyframe. |
payloadType | int32_t | Tipe muatan. Nilainya dapat berupa `5` atau nilai dalam rentang `100` hingga `254`. |
Nilai kembalian
0: Panggilan berhasil.
<0: Panggilan gagal. Kode kesalahan dikembalikan.
ERR_INNER(-1): Terjadi kesalahan internal SDK. Hal ini dapat terjadi jika SDK belum diinisialisasi atau jika Anda memanggil fungsi ini setelah SDK dihapus.
OnConnectionStatusChange
Callback untuk perubahan status konektivitas jaringan.
virtual void OnConnectionStatusChange(int status, int reason) {};Deskripsi parameter
Parameter | Tipe | Deskripsi |
status | Status koneksi saat ini. | |
reason | Alasan perubahan status koneksi. |
OnLocalDeviceException
Pemicu balik ini dipanggil ketika terjadi pengecualian pada perangkat lokal. Anda harus menangani pemicu balik ini.
virtual void OnLocalDeviceException(AliEngineLocalDeviceType deviceType, AliEngineLocalDeviceExceptionType exceptionType, const char* msg){};Parameter
Parameter | Tipe | Deskripsi |
deviceType | AliEngineLocalDeviceType | Tipe perangkat. |
exceptionType | AliEngineLocalDeviceExceptionType | Jenis pengecualian perangkat. |
msg | const char* | Pesan pengecualian. |
OnAuthInfoWillExpire
Callback ini memberi tahu Anda bahwa informasi autentikasi Anda akan kedaluwarsa dalam 30 detik. Anda harus menangani callback ini.
virtual void OnAuthInfoWillExpire() {};Ketika Anda menerima callback ini, informasi autentikasi Anda akan kedaluwarsa dalam 30 detik. Dapatkan token baru dan perbarui informasi autentikasi Anda dengan salah satu cara berikut:
Panggil metode
RefreshAuthInfountuk memperbarui informasi autentikasi.Panggil
LeaveChanneluntuk meninggalkan saluran saat ini, lalu panggilJoinChanneluntuk bergabung kembali ke saluran tersebut.
Pemicu
SDK memicu callback ini 30 detik sebelum informasi autentikasi kedaluwarsa. Saat Anda menerima callback ini, segera perbarui informasi autentikasi Anda.
OnAuthInfoExpired
Panggilan balik ini dipicu ketika server melaporkan bahwa informasi autentikasi Anda telah kedaluwarsa.
virtual void OnAuthInfoExpired() {};Untuk tetap berada di saluran, buat token baru di server Anda. Kemudian, perbarui informasi autentikasi Anda sebagai berikut:
Panggil
LeaveChanneluntuk meninggalkan saluran saat ini, lalu panggilJoinChanneluntuk bergabung kembali ke saluran.
Pemicu
Panggilan balik ini dipicu ketika informasi autentikasi Anda kedaluwarsa.
OnJoinChannelResult
Callback ini memberikan hasil dari proses bergabung ke dalam saluran. Callback ini setara dengan operasi blok dari metode JoinChannel. Keduanya menangani event setelah pengguna bergabung ke dalam saluran. Anda hanya perlu menggunakan salah satunya.
virtual void OnJoinChannelResult(int result, const char *channel, const char *userId, int elapsed) {}Kondisi pemicu
Saat sebuah aplikasi memanggil metode JoinChannel, callback ini dipicu. Callback ini menunjukkan apakah pengguna berhasil bergabung ke dalam saluran dan mengembalikan informasi terkait proses bergabung tersebut, termasuk waktu yang berlalu.
Parameter
Parameter | Tipe | Deskripsi |
result | int | Hasil dari proses bergabung ke dalam saluran. Nilai 0 menunjukkan keberhasilan. Nilai bukan nol menunjukkan kegagalan dan mengembalikan kode kesalahan. Untuk informasi selengkapnya, lihat Daftar kode kesalahan. Kode kesalahan umum meliputi:
|
channel | const char * | ID saluran. |
userId | const char * | ID pengguna. |
elapsed | int | Waktu yang telah berlalu untuk bergabung dengan saluran. |
OnLeaveChannelResult
Callback untuk hasil meninggalkan saluran. Callback ini dikembalikan setelah Anda memanggil metode LeaveChannel. Jika Anda segera memanggil Destroy setelahnya, Anda tidak akan menerima callback ini.
virtual void OnLeaveChannelResult(int result, AliEngineStats stats) {}Pemicu
Callback ini dipicu ketika aplikasi berhasil memanggil LeaveChannel untuk meninggalkan saluran. Callback ini mengembalikan hasil dari proses meninggalkan saluran dan statistik sesi saluran tersebut.
Callback ini tidak dipicu jika Anda memanggil LeaveChannel lalu segera memanggil Destroy untuk menghapus engine.
Parameter
Parameter | Tipe | Deskripsi |
result | int | Hasil dari proses meninggalkan saluran. Nilai 0 menunjukkan keberhasilan. Kode kesalahan dikembalikan jika gagal. |
stats | Statistik untuk sesi saluran. |
OnRemoteUserOffLineNotify
Callback yang dipicu ketika pengguna jarak jauh offline.
virtual void OnRemoteUserOffLineNotify(const char *uid, AliEngineUserOfflineReason reason) {}Callback ini memberi tahu pengguna lokal ketika pengguna jarak jauh offline karena alasan apa pun.
Pemicu
Pengguna remote secara aktif meninggalkan saluran.
Ketika streamer jarak jauh memanggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="03e45f655fcxx">SetClientRole</a>untuk beralih ke peran penonton (diatur ke AliEngineClientRoleLive), callback dipicu.Streamer jarak jauh dianggap offline karena periode inaktivitas data yang berkepanjangan.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char * | ID pengguna. Pengidentifikasi unik yang ditetapkan oleh server aplikasi. |
reason | Alasan mengapa pengguna menjadi offline. |
OnRemoteUserOnLineNotify
Callback ini memberi tahu klien lokal bahwa pengguna remote telah bergabung ke dalam saluran.
virtual void OnRemoteUserOnLineNotify(const char *uid, int elapsed) {}Callback ini memberi tahu klien lokal bahwa pengguna remote telah bergabung ke saluran.
Kondisi pemicu
Pengguna remote bergabung ke dalam saluran.
Setelah pengguna lokal bergabung ke saluran, pemicu callback ini dijalankan untuk semua pengguna jarak jauh yang sudah berada di saluran tersebut. Hal ini menampilkan pengguna yang sebelumnya telah bergabung.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char * | ID pengguna unik yang ditetapkan oleh server aplikasi. |
elapsed | int | Waktu yang berlalu sejak pengguna lokal memanggil untuk bergabung ke saluran hingga callback ini dipicu. |
OnRemoteTrackAvailableNotify
Panggilan balik ini dipicu ketika aliran pengguna jarak jauh berubah.
virtual void OnRemoteTrackAvailableNotify(const char *uid,
AliEngineAudioTrack audioTrack,
AliEngineVideoTrack videoTrack) {}Panggilan balik ini dipicu ketika status penerbitan aliran pengguna jarak jauh berubah. Panggilan balik ini memberikan informasi real-time mengenai apakah pengguna jarak jauh sedang menerbitkan aliran audio dan video. Gunakan informasi ini untuk menampilkan atau menyembunyikan audio dan video pengguna jarak jauh pada antarmuka pengguna.
Kondisi pemicu
Callback ini dipicu dalam skenario berikut:
Pengguna jarak jauh mulai menerbitkan aliran (audio dan video).
Pengguna jarak jauh berhenti menerbitkan aliran (audio dan video).
Dalam mode interaktif, pengguna jarak jauh memanggil SetClientRole untuk mengganti perannya dari penonton menjadi host dan mulai menerbitkan aliran.
Contoh aliran video berikut menunjukkan kapan panggilan balik ini dipicu. Asumsikan pengguna jarak jauh awalnya tidak menerbitkan aliran video:
Pengguna jarak jauh mulai menerbitkan aliran kamera (Status penerbitan: Tidak ada aliran video -> Hanya aliran kamera). Panggilan balik lokal mengembalikan
AliEngineVideoTrackCamera, yang menunjukkan bahwa aliran kamera pengguna jarak jauh tersedia.Pengguna jarak jauh juga mulai menerbitkan aliran berbagi layar (Status penerbitan: Hanya aliran kamera -> Aliran kamera dan berbagi layar). Panggilan balik lokal mengembalikan
AliEngineVideoTrackBoth, yang menunjukkan bahwa aliran kamera dan berbagi layar dari pengguna jarak jauh keduanya tersedia.Pengguna jarak jauh berhenti menerbitkan aliran kamera tetapi tetap menerbitkan aliran berbagi layar (Status penerbitan: Aliran kamera dan berbagi layar -> Hanya aliran berbagi layar). Panggilan balik lokal mengembalikan
AliEngineVideoTrackScreen, yang menunjukkan bahwa hanya aliran berbagi layar yang saat ini tersedia.Pengguna jarak jauh kemudian berhenti menerbitkan aliran berbagi layar (Status penerbitan: Hanya aliran berbagi layar -> Tidak ada aliran video). Panggilan balik lokal mengembalikan
AliEngineVideoTrackNo, yang menunjukkan bahwa tidak ada aliran video yang saat ini tersedia.
Panggilan balik ini mengembalikan status penerbitan aliran pengguna jarak jauh. Untuk mengidentifikasi aliran spesifik mana yang dibatalkan penerbitannya, catat status sebelum dan sesudah panggilan balik ini.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char * | ID pengguna, yaitu pengenal unik yang ditetapkan oleh server aplikasi. |
audioTrack | Aliran audio pengguna remote setelah perubahan. | |
videoTrack | Aliran video pengguna remote setelah perubahan. |
OnBye
Panggilan balik ini dipicu ketika Anda dihapus oleh server atau saluran ditutup.
virtual void OnBye(int code) {}Panggilan balik ini dipicu ketika Anda terputus karena alasan apa pun atau saluran ditutup. Gunakan parameter code untuk menentukan alasan pemutusan koneksi dan merespons sesuai dengan itu.
Kondisi pemicu
Anda dihapus oleh server.
Saluran ditutup oleh server.
Anda terputus secara tidak sukarela. Coba lanjutkan sesi atau sambungkan ulang.
Parameter
Parameter | Tipe | Deskripsi |
code | int | Tipe pesan. Nilai yang valid:
|
OnAudioPublishStateChanged
Callback untuk perubahan dalam status penerbitan audio.
virtual void OnAudioPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel) {};Callback ini dipicu ketika status penerbitan aliran audio lokal berubah.
Pemicu
Callback ini dipicu saat status penerbitan audio berubah. Misalnya:
Penerbitan aliran dihentikan.
Panggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#c99c2b257dd8o" id="904fc4e83a35n">SetClientRole</a>untuk mengganti peran klien menjadi penonton.
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 | const char * | ID saluran saat ini. |
OnAudioSubscribeStateChanged
Callback untuk perubahan status langganan aliran audio.
virtual void OnAudioSubscribeStateChanged(const char *uid,
AliEngineSubscribeState oldState,
AliEngineSubscribeState newState,
int elapseSinceLastState,
const char *channel) {};Callback ini memberi tahu pengguna lokal bahwa status langganan aliran audio pengguna jarak jauh telah berubah. Callback ini menunjukkan status baru dan waktu yang berlalu sejak status sebelumnya.
Parameter
Parameter | Tipe | Deskripsi |
uid | NSString *_Nonnull | ID pengguna yang status langgannya berubah. |
oldState | Status langganan sebelumnya. | |
newState | Status langganan saat ini. | |
elapseSinceLastState | int | Waktu yang telah berlalu sejak perubahan status terakhir, dalam milidetik. |
channel | const char * | ID saluran saat ini. |
OnUserAudioMuted
Notifikasi bahwa pengguna telah membisukan atau mengaktifkan kembali audio mereka.
virtual void OnUserAudioMuted(const char* uid, bool isMute) {}Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna yang membisukan atau mengaktifkan kembali audionya. |
isMute | bool | Menunjukkan apakah pengguna dibisukan. `true` berarti pengguna dibisukan, dan `false` berarti pengguna tidak dibisukan. |
SetExternalAudioStreamPublishVolume
Mengatur volume ingest aliran audio eksternal.
virtual void OnUserAudioInterruptedBegin(const char* uid) {}Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna yang audionya terganggu. |
OnUserAudioInterruptedEnded
Pemicu balik yang dijalankan ketika gangguan audio pengguna berakhir. Pemicu balik ini berkorespondensi dengan OnUserAudioInterruptedBegin.
virtual void OnUserAudioInterruptedEnded(const char* uid) {}Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna yang gangguan audionya telah berakhir. |
OnVideoPublishStateChanged
Memberikan laporan perubahan pada status penerbitan aliran video.
virtual void OnVideoPublishStateChanged(AliEnginePublishState oldState, AliEnginePublishState newState, int elapseSinceLastState, const char *channel) {};Callback ini memantau perubahan status penerbitan aliran video pengguna lokal.
Parameter
Parameter | Tipe | Deskripsi |
oldState | Status penerbitan aliran sebelumnya. | |
newState | Status penerbitan aliran saat ini. | |
elapseSinceLastState | int | Waktu yang berlalu sejak perubahan status terakhir, dalam milidetik. |
channel | const char * | ID saluran saat ini. |
SetExternalAudioStreamPlayoutVolume
Callback yang dipanggil saat status langganan terhadap track kamera berubah.
virtual void OnVideoSubscribeStateChanged(const char *uid,
AliEngineSubscribeState oldState,
AliEngineSubscribeState newState,
int elapseSinceLastState,
const char *channel) {};Callback ini memberi tahu pengguna lokal bahwa status langganan terhadap aliran kamera pengguna jarak jauh telah berubah. Callback ini menyediakan detail perubahan status langganan untuk pengguna jarak jauh tertentu serta interval waktu dari status sebelumnya ke status saat ini.
Callback Terkait
Aliran video terutama terdiri dari aliran kamera dan aliran berbagi layar. Antarmuka ini digunakan untuk perubahan status langganan aliran kamera, sedangkan antarmuka callback untuk aliran berbagi layar adalah OnScreenShareSubscribeStateChanged.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char * | ID pengguna yang status langgannya berubah. |
oldState | Status langganan sebelumnya. | |
newState | Status langganan saat ini. | |
elapseSinceLastState | int | Interval perubahan status, dalam milidetik. |
channel | const char * | ID saluran saat ini. |
OnUserVideoMuted
Notifikasi bahwa video pengguna dimatikan (muted).
virtual void OnUserVideoMuted(const char* uid, bool isMute) {}Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna yang mematikan video. |
isMute | bool | true menunjukkan bahwa frame hitam dikirim. false menunjukkan bahwa aliran dikirim secara normal. |
GetExternalAudioStreamPublishVolume
Mendapatkan volume ingest aliran audio eksternal.
virtual void OnUserVideoEnabled(const char* uid, bool isEnable) {}Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna yang menjalankan EnableLocalVideo. |
isMute | bool | Diatur ke true untuk mengaktifkan pengambilan aliran kamera. Diatur ke false untuk menonaktifkan pengambilan aliran kamera. |
OnUserWillResignActive
Panggilan balik yang dipicu ketika aplikasi pengguna jarak jauh berpindah ke latar belakang.
virtual void OnUserWillResignActive(const char* uid) {}Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna yang aplikasinya berpindah ke latar belakang. |
GetExternalAudioStreamPlayoutVolume
Mendapatkan volume pemutaran aliran audio eksternal.
virtual void OnUserWillBecomeActive(const char* uid) {}Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna saat aplikasi kembali ke latar depan. |
OnStats
Pemicu statistik real-time yang dipanggil setiap 2 detik.
virtual void OnStats(const AliEngineStats& stats) {}Parameter
Parameter | Tipe | Deskripsi |
stats | Data statistik. |
RemoveExternalAudioStream
Menghapus aliran audio eksternal.
virtual void OnLocalVideoStats(const AliEngineLocalVideoStats& localVideoStats);Informasi Parameter
Parameter | Tipe | Deskripsi |
localVideoStats | const AliEngineLocalVideoStats& | Statistik kinerja video lokal, seperti bitrate dan laju frame. |
OnRemoteVideoStats
Callback untuk statistik kinerja video jarak jauh. Dipicu setiap 2 detik.
virtual void OnRemoteVideoStats(const AliEngineRemoteVideoStats& remoteVideoStats);Parameter
Parameter | Tipe | Deskripsi |
remoteVideoStats | const AliEngineRemoteVideoStats& | Statistik kinerja aliran video jarak jauh. Ini mencakup ID pengguna jarak jauh, laju frame, dan tersendat. |
OnLocalAudioStats
Statistik audio lokal. Callback ini dipicu setiap 2 detik.
virtual void OnLocalAudioStats(const AliEngineLocalAudioStats& localAudioStats);Parameter
Parameter | Tipe | Deskripsi |
localAudioStats | const AliEngineLocalAudioStats& | Statistik audio lokal, seperti laju sampel dan jumlah saluran suara. |
OnRemoteAudioStats
Memberikan laporan statistik kinerja audio jarak jauh setiap 2 detik.
virtual void OnRemoteAudioStats(const AliEngineRemoteAudioStats& remoteAudioStats);Parameter
Parameter | Tipe | Deskripsi |
remoteAudioStats | const AliEngineRemoteAudioStats& | Statistik kinerja audio jarak jauh, seperti tingkat kehilangan paket dan laju tersendat. |
GetAudioFileInfo
Callback yang dipanggil saat pesan SEI diterima. Ketika suatu titik akhir menggunakan SendMediaExtensionMsg untuk mengirim pesan, titik akhir lain menerima data melalui callback ini.
virtual void OnMediaExtensionMsgReceived(const char* uid, const uint8_t payloadType, const int8_t * message, uint32_t size);Ketika satu sisi mengirim pesan menggunakan sendMediaExtensionMsg, sisi lain menerima data melalui callback ini.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna penerima. |
payloadType | const uint8_t | Jenis muatan. Nilainya adalah 5 untuk pesan yang dikirim oleh sendMediaExtensionMsg. Untuk pesan yang dikirim oleh sendMediaExtensionMsgEx, nilainya adalah jenis spesifik tersebut. |
message | const int8_t * | Informasi ekstensi. |
size | uint32_t | Panjang ekstensi. |
OnSnapshotComplete
Callback ini mengembalikan hasil tangkapan layar setelah pemanggilan SnapshotVideo berhasil.
virtual void OnSnapshotComplete(const char* userId, AliEngineVideoTrack videoTrack, void* buffer, int width, int height, bool success);Parameter
Parameter | Tipe | Deskripsi |
userId | const char* | ID pengguna yang aliran videonya diambil. |
videoTrack | Jenis aliran video yang ditangkap, seperti aliran kamera atau aliran berbagi layar. | |
buffer | void* | Data citra dari tangkapan layar jika operasi berhasil. Format citra adalah RGBA. Mengembalikan nullptr jika operasi gagal. |
width | int | Lebar tangkapan layar. |
height | int | Tinggi tangkapan layar. |
success | bool | Menunjukkan apakah tangkapan layar berhasil diambil.
|
StartAudioAccompany
Memulai pencampuran audio iringan.
virtual void OnLocalAudioStateChange(AliEngineLocalAudioStateType state, const char* msg);Deskripsi parameter
Parameter | Tipe | Deskripsi |
state | Status perangkat audio, seperti memulai atau telah dimulai. | |
msg | const char* | Deskripsi perubahan status perangkat. |
onLocalVideoStateChanged
Memberikan laporan mengenai status perangkat video lokal.
virtual void onLocalVideoStateChanged(AliEngineLocalVideoStateType state, const char* msg);Parameter
Parameter | Tipe | Deskripsi |
state | Status saat ini dari perangkat video, seperti sedang memulai atau telah dimulai. | |
msg | const char* | Deskripsi mengenai perubahan status perangkat. |
OnRemoteUserSubscribedDataChannel
Memberi tahu Anda bahwa Anda dapat mulai mengirimkan pesan Data Channel.
virtual void OnRemoteUserSubscribedDataChannel(const char* uid);Pemicu callback ini terjadi ketika pengguna jarak jauh berlangganan ke Data Channel. Callback ini memberi tahu pengguna lokal bahwa pengguna jarak jauh yang ditentukan siap menerima pesan kustom. Anda kemudian dapat dengan aman memanggil SendDataChannelMessage untuk mengirimkan data. Callback ini memastikan pengiriman pesan yang andal serta mencegah kehilangan paket atau kegagalan pengiriman pesan ke pengguna yang belum berlangganan Data Channel.
Callback ini hanya dipicu dalam skenario AI.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna jarak jauh. |
OnDataChannelMessage
Pemicu balik untuk pesan saluran data.
virtual void OnDataChannelMessage(const char* uid, const AliEngineDataChannelMsg& msg);Kit pengembangan perangkat lunak (SDK) Alibaba Real-Time Communication (ARTC) memungkinkan Anda mengirim dan menerima pesan kustom secara real time bersamaan dengan data audio dan video. Pemicu balik ini 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, panggil
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#d78a13ea0e6hy" id="327b69c0ee1wh">SetParameter</a>setelah Anda membuat engine untuk mengatur parameter menjadi{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}.
Kapan dipicu
Pemicu balik ini dipicu untuk penerima setelah pengirim memanggil SendDataChannelMessage. Penerima harus telah mengaktifkan fitur saluran data.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna yang mengirim pesan. |
msg | const AliEngineDataChannelMsg& | Pesan saluran data. |
OnCapturedAudioFrame
Callback untuk data audio mentah yang ditangkap.
virtual bool OnCapturedAudioFrame(AliEngineAudioRawData audioRawData) = 0;Callback ini mengambil data audio mentah yang ditangkap oleh perangkat. Fitur ini dinonaktifkan secara default. Untuk mengambil 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.
Panggil RegisterAudioFrameObserver untuk mendaftarkan objek yang menerima data audio.
Callback ini mendukung pengaturan kustom untuk laju sampel, jumlah saluran suara, dan mode baca/tulis.
Parameter
Parameter | Tipe | Deskripsi |
audioRawData | Data audio. |
Returns
true: Berhasil.
false: Gagal.
StopAudioAccompany
Menghentikan pencampuran iringan audio.
virtual bool OnProcessCapturedAudioFrame(AliEngineAudioRawData audioRawData) = 0;Callback ini digunakan untuk memperoleh data audio setelah pemrosesan 3A. Secara default, callback ini dinonaktifkan. Untuk memperoleh data audio ini:
Aktifkan callback ini melalui parameter audioSource di EnableAudioFrameObserver(true,audioSource,config). Selain itu, gunakan parameter config untuk mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis untuk data audio.
Panggil RegisterAudioFrameObserver untuk mendaftarkan objek guna menerima data audio.
API ini memungkinkan Anda mengatur laju sampel, jumlah saluran suara, dan mode baca/tulis.
Deskripsi metrik
Parameter | Tipe | Deskripsi |
audioRawData | Data audio. |
Nilai kembali
0: Berhasil.
false: Permintaan gagal.
SetAudioAccompanyVolume
Mengatur volume iringan.
virtual bool OnPublishAudioFrame(AliEngineAudioRawData audioRawData) = 0;Callback ini digunakan untuk memperoleh data audio dari pengambilan aliran. Callback ini dinonaktifkan secara default. Untuk memperoleh data audio ini:
Panggil EnableAudioFrameObserver(true,audioSource,config) untuk mengaktifkan callback ini untuk sumber audio tertentu. Parameter config menetapkan properti untuk data audio, seperti laju sampel, jumlah saluran suara, dan mode baca/tulis.
Panggil RegisterAudioFrameObserver untuk mendaftarkan objek penerima data audio.
API ini mendukung pengaturan laju sampel dan jumlah saluran suara, tetapi mode hanya dapat diatur ke read-only.
Parameter
Parameter | Tipe | Deskripsi |
audioRawData | Data audio. |
Nilai kembali
true: Berhasil.
false: Gagal.
OnPlaybackAudioFrame
Callback untuk data audio pemutaran.
virtual bool OnPlaybackAudioFrame(AliEngineAudioRawData audioRawData) = 0;Callback ini mengambil data audio pemutaran. Callback ini dinonaktifkan secara default. Untuk mengambil data audio:
Aktifkan callback ini melalui parameter audioSource di EnableAudioFrameObserver(true,audioSource,config). Parameter config juga 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.
Limitations
Jangan melakukan operasi yang memakan waktu di dalam fungsi callback ini. Hal ini dapat menyebabkan masalah audio.
Parameter
Parameter | Tipe | Deskripsi |
audioRawData | Data audio. |
Return value
true: Operasi berhasil.
false: Operasi gagal.
SetAudioAccompanyPublishVolume
Mengatur volume ingest akomodasi audio.
virtual bool OnRemoteUserAudioFrame(const char *uid, AliEngineAudioRawData audioRawData) = 0; Callback ini digunakan untuk memperoleh data audio jarak jauh yang ditarik dari pengguna tertentu. Callback ini dinonaktifkan secara default. Untuk memperoleh data audio ini:
Aktifkan callback ini dengan menentukan audioSource dalam pemanggilan 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 guna menerima data audio.
API ini tidak mendukung pengaturan laju sampel atau jumlah saluran suara, tetapi Anda dapat mengatur mode baca/tulis.
Batasan Pemanggilan
Jangan melakukan operasi yang memakan waktu lama dalam fungsi callback ini, karena dapat menyebabkan suara tidak normal.
Deskripsi metrik
Parameter | Tipe | Deskripsi |
uid | const char * | ID pengguna jarak jauh. |
audioRawData | Data audio. |
Nilai Kembali
true: Sukses.
false: Gagal.
OnCaptureVideoSample
Callback untuk data video yang ditangkap secara lokal.
virtual bool OnCaptureVideoSample(AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;Callback ini mengambil frame video mentah, seperti data YUV, yang ditangkap oleh kamera lokal. Anda dapat menggunakan callback ini untuk menerapkan logika pemrosesan video kustom, seperti menambahkan filter, Watermark, atau Transkoding. Anda kemudian dapat memutuskan apakah akan mengirimkan data yang telah diproses kembali ke kit pengembangan perangkat lunak (SDK) untuk encoding atau rendering. Jika Anda ingin mengirimkan video yang telah diproses ke SDK, kembalikan nilai true.
Ketika dipicu
Setelah Anda berhasil memanggil <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#0873ceb145h0t" id="c9469a35210sg">RegisterVideoSampleObserver</a> untuk mendaftarkan observer data video, yaitu ketika SDK menangkap frame video yang sesuai.
Parameter
Parameter | Tipe | Deskripsi |
videoSource | Sumber data video. | |
videoRawData | Data video mentah. |
Nilai kembali
true: Menulis data yang telah diproses kembali ke SDK. Ini hanya berlaku untuk data I420 dan native (iOS/macOS).
false: Tidak menulis data yang telah diproses kembali ke SDK.
OnPreEncodeVideoSample
Callback untuk data video lokal sebelum pengkodean.
virtual bool OnPreEncodeVideoSample(AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;Callback ini dipicu sebelum SDK mengkodekan data video lokal. Callback ini menyediakan data video mentah, seperti data dalam format YUV, untuk pemrosesan khusus. Anda dapat menambahkan Watermark, menyesuaikan warna, atau melakukan transkode terhadap data tersebut. Selanjutnya, Anda dapat memutuskan apakah akan mengembalikan data yang telah diproses ke SDK untuk dikodekan.
Parameter
Parameter | Tipe | Deskripsi |
videoSource | Sumber data video. | |
videoRawData | Data video. |
Return value
true: Data ditulis kembali ke SDK. Ini hanya berlaku untuk format I420 dan native (iOS dan macOS).
false: Data tidak ditulis kembali ke SDK.
OnRemoteVideoSample
Callback untuk data video jarak jauh yang telah dilanggan.
virtual bool OnRemoteVideoSample(const char *uid, AliEngineVideoSource videoSource, AliEngineVideoRawData &videoRawData) = 0;Callback ini menyediakan data frame video mentah—misalnya dalam format YUV—dari pengguna jarak jauh yang telah berlangganan, memungkinkan developer mengimplementasikan logika pemrosesan kustom seperti menambahkan filter, watermark, atau transkoding, serta menentukan apakah data yang telah diproses akan dikembalikan ke SDK untuk rendering.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char * | ID pengguna jarak jauh. |
videoSource | Sumber data video. | |
videoRawData | Data video mentah. |
Pengembalian
true: Data ditulis ulang ke SDK.
false: Data tidak dikembalikan ke SDK.
GetVideoAlignment
Penyelarasan lebar video keluaran.
virtual AliEngineVideoObserAlignment GetVideoAlignment();Mengembalikan
Penyelarasan lebar yang diharapkan dari video keluaran. Untuk informasi selengkapnya, lihat AliEngineVideoObserAlignment.
GetObservedFramePosition
Mendapatkan posisi frame yang diamati.
virtual uint32_t GetObservedFramePosition();Returns
Posisi frame yang diamati. Untuk informasi selengkapnya, lihat AliEngineVideoObserPosition.
onDestroyCompletion
Callback yang menunjukkan bahwa proses penghapusan telah selesai.
virtual void onDestroyCompletion();Callback ini menunjukkan bahwa instans mesin SDK telah dihapus. Anda kemudian dapat membuat instans baru.
Trigger
Setelah Anda memanggil metode Destroy, callback ini dipicu setelah penghapusan mesin selesai.
Tunggu callback onDestroyCompletion sebelum mengeksekusi metode lainnya. Hal ini mencegah thread utama terblokir.
GetAudioAccompanyPublishVolume
Mendapatkan volume ingest iringan audio.
virtual void OnAudioEffectFinished(int soundId) {}Parameter | Tipe | Deskripsi |
soundId | int | ID efek suara yang telah selesai diputar. |
SetAudioAccompanyPlayoutVolume
Callback yang dipanggil untuk mengembalikan informasi mengenai volume audio, status suara, dan UID.
virtual void OnAudioVolumeCallback(const AliEngineUserVolumeInfo* volumeInfo, int volumeInfoCount, int totalVolume) {}Callback ini dinonaktifkan secara default. Anda dapat memanggil metode <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="9e5f7dfbe43ze">EnableAudioVolumeIndication</a> untuk mengaktifkannya. Setelah diaktifkan, SDK memicu callback ini pada interval yang ditetapkan oleh <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="ebd7f2147ar4d">EnableAudioVolumeIndication</a> setelah Anda bergabung ke saluran tempat pengguna melakukan ingest aliran. Hasil callback berisi informasi volume untuk pembicara lokal dan jarak jauh.
Parameter
Parameter | Tipe | Deskripsi |
volumeInfo | Sebuah array informasi volume pengguna untuk callback. Array ini berisi UID pengguna, status suara, dan volume.
| |
volumeInfoCount | int | Jumlah entri informasi volume pengguna dalam array callback. |
totalVolume | int | Volume total setelah pencampuran audio. Nilainya berkisar antara 0 hingga 255. Pada callback untuk pengguna lokal, totalVolume adalah volume pengguna lokal setelah pencampuran audio. Pada callback untuk pengguna jarak jauh, totalVolume adalah volume total seluruh pembicara setelah pencampuran audio. |
OnActiveSpeaker
Callback untuk pembicara aktif.
virtual void OnActiveSpeaker(const char *uid) {}Setelah pemanggilan <a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#f69f93ca70pa6" id="b5e0ba1248tmp">EnableAudioVolumeIndication</a> berhasil, SDK terus memantau pengguna jarak jauh dengan volume suara paling keras dan menghitung berapa kali pengguna tersebut diidentifikasi sebagai yang paling keras. Dalam periode waktu saat ini, pengguna jarak jauh dengan jumlah akumulasi tertinggi merupakan pengguna paling aktif.
Pemicu
SDK memicu callback ini untuk melaporkan UID pengguna jarak jauh paling aktif ketika terdapat dua atau lebih pengguna dalam saluran dan ada pengguna jarak jauh yang aktif.
Jika pengguna remote paling aktif tetap sama, SDK tidak akan memicu callback
OnActiveSpeakerlagi.Jika pengguna jarak jauh paling aktif berubah, SDK memicu kembali callback tersebut untuk melaporkan UID pengguna jarak jauh paling aktif yang baru.
Parameter
Parameter | Tipe | Deskripsi |
uid | const char * | ID dari pembicara aktif. |
OnPublishLiveStreamStateChanged
Panggilan balik yang dipicu ketika status pengambilan aliran bypass berubah.
virtual void OnPublishLiveStreamStateChanged(const char* streamUrl ,AliEngineLiveTranscodingState state ,AliEngineLiveTranscodingErrorCode errCode){};Parameter
Parameter | Tipe | Deskripsi |
streamURL | const char* | URL aliran. |
state | Status pengambilan aliran bypass. | |
errCode | Kode kesalahan. |
OnPublishTaskStateChanged
Callback untuk perubahan status dalam tugas bypass.
virtual void OnPublishTaskStateChanged(const char* streamUrl, AliEngineTrascodingPublishTaskStatus state){};Parameter
Parameter | Tipe | Deskripsi |
streamURL | const char* | URL aliran. |
state | Status tugas. |
OnNetworkQualityChanged
Panggilan balik ini dipicu ketika kualitas jaringan berubah.
virtual void OnNetworkQualityChanged(const char *uid, AliEngineNetworkQuality upQuality, AliEngineNetworkQuality downQuality);Parameter
Parameter | Tipe | Deskripsi |
uid | char* | ID pengguna yang kualitas jaringannya telah berubah. Catatan Jika parameter ini kosong, hal tersebut menunjukkan adanya perubahan pada kualitas jaringan pengguna lokal. |
upQuality | Kualitas jaringan uplink. | |
downQuality | Kualitas jaringan downlink. |
GetAudioAccompanyPlayoutVolume
Mendapatkan volume pemutaran lokal iringan audio.
virtual void OnLastmileDetectResultWithQuality(AliEngineNetworkQuality networkQuality);Callback ini menjelaskan hasil probe jaringan sebelum pengguna lokal bergabung ke saluran, yang dapat Anda gunakan untuk mengevaluasi kualitas jaringan secara kasar. Setelah Anda memanggil StartLastmileDetect, SDK akan mengembalikan callback ini dalam waktu sekitar 3 detik.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
networkQuality | Tingkat kualitas jaringan. |
PauseAudioAccompany
Menghentikan sementara pencampuran iringan audio.
virtual void OnLastmileDetectResultWithBandWidth(int code, AliRTCSdk::AliEngineNetworkProbeResult networkQuality);Setelah Anda memanggil StartLastmileDetect, SDK akan mengembalikan callback dalam waktu sekitar 30 detik, yang memberikan hasil detail mengenai kualitas jaringan.
Deskripsi metrik
Parameter | Tipe | Deskripsi |
code | int | Nilai pengembalian:
|
networkQuality | AliRTCSdk::AliEngineNetworkProbeResult | Hasil probe jaringan. Ini mencakup RTT tautan, serta tingkat kehilangan paket, jitter, dan bandwidth untuk uplink dan downlink. |
OnOccurError
Callback ini memberi tahu aplikasi ketika terjadi kesalahan di mesin.
virtual void OnOccurError(int error, const char *msg);Parameter
Parameter | Tipe | Deskripsi |
error | int | Jenis kesalahan. Untuk informasi lebih lanjut, lihat AliEngineErrorCode. |
msg | const char * | Deskripsi kesalahan. |
OnFirstAudioPacketSend
Pemicu balik ini diaktifkan ketika paket data audio pertama dikirim.
virtual void OnFirstAudioPacketSend(AliEngineAudioTrack audioTrack, int timeCost);Parameter
Parameter | Tipe | Deskripsi |
audioTrack | Aliran audio yang paket pertamanya dikirim. | |
timeCost | int | Waktu yang berlalu sejak bergabung ke saluran hingga mengirim paket audio pertama, dalam milidetik (ms). |
OnFirstAudioPacketReceived
Pemicu balik ini diaktifkan ketika Paket data audio pertama dari pengguna jarak jauh diterima.
virtual void OnFirstAudioPacketReceived(const char* uid, AliEngineAudioTrack audioTrack, int timeCost) Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna remote. |
audioTrack | Jenis aliran audio tempat Paket data pertama diterima. | |
timeCost | int | Waktu yang berlalu dari bergabung dalam sesi hingga menerima paket audio pertama, dalam milidetik. |
OnFirstVideoPacketSend
Callback ini dipicu ketika paket video pertama dikirim.
virtual void OnFirstVideoPacketSend(AliEngineVideoTrack videoTrack, int timeCost);Parameter
Parameter | Tipe | Deskripsi |
videoTrack | Track video tempat paket pertama dikirim, seperti track kamera atau track berbagi layar. | |
timeCost | int | Waktu yang berlalu, dalam milidetik, sejak bergabung ke saluran hingga mengirim paket video pertama. |
OnFirstVideoPacketReceived
Panggilan balik ini dipicu ketika paket video pertama diterima.
virtual void OnFirstVideoPacketReceived(const char* uid, AliEngineVideoTrack videoTrack, int timeCost);Deskripsi parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna jarak jauh. |
videoTrack | Jenis track video. Ini menunjukkan aliran video mana yang menerima paket pertamanya, seperti aliran kamera atau aliran berbagi layar. | |
timeCost | int | Waktu yang berlalu, dalam milidetik, sejak bergabung ke sesi hingga menerima paket video pertama. |
OnFirstRemoteAudioDecoded
Pemicu balik ini diaktifkan ketika frame pertama dari aliran audio jarak jauh didekodekan.
virtual void OnFirstRemoteAudioDecoded(const char* uid, AliEngineAudioTrack audioTrack, int elapsed);Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna remote. |
audioTrack | Jenis aliran audio yang frame pertamanya telah didekodekan. | |
elapsed | int | Waktu yang berlalu, dalam milidetik, sejak pengguna lokal bergabung ke saluran hingga pemicu balik ini diaktifkan. |
OnFirstRemoteVideoFrameDrawn
Pemicu balik ini diaktifkan ketika bingkai video pertama dari pengguna jarak jauh dirender.
virtual void OnFirstRemoteVideoFrameDrawn(const char *uid, AliEngineVideoTrack videoTrack,
int width, int height, int elapsed);Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna remote. |
videoTrack | Jenis aliran video, seperti aliran kamera atau aliran berbagi layar. | |
width | int | Lebar video. |
height | int | Tinggi video. |
elapsed | int | Total waktu yang berlalu, dalam milidetik, dari saat pengguna lokal bergabung dengan saluran hingga callback ini dipicu. |
OnFirstLocalVideoFrameDrawn
Pemicu balik ini dipanggil ketika bingkai video lokal pertama digambar.
virtual void OnFirstLocalVideoFrameDrawn(int width, int height, int elapsed);Parameter
Parameter | Tipe | Deskripsi |
width | int | Lebar video. |
height | int | Tinggi video. |
elapsed | int | Waktu yang berlalu, dalam milidetik, sejak pengguna lokal bergabung ke saluran hingga pemicu balik ini dipanggil. |
OnTestAudioVolumeCallback
Pemicu volume untuk pengujian perekaman audio sebelum panggilan.
virtual void OnTestAudioVolumeCallback(int volumn);Pemicu ini diaktifkan setelah StartAudioCaptureTest berhasil dipanggil sebelum panggilan. Tingkat volume normal menunjukkan bahwa perekaman audio berjalan normal.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
volumn | int | Informasi volume. |
OnAudioAccompanyStateChanged
Callback untuk status pemutaran iringan audio lokal.
virtual void OnAudioAccompanyStateChanged(AliEngineAudioAccompanyStateCode playState, AliEngineAudioAccompanyErrorCode errorCode);Callback ini dipicu ketika status pemutaran iringan audio berubah. Callback ini melaporkan status pemutaran saat ini dan kode kesalahan.
Parameter
Parameter | Tipe | Deskripsi |
playState | Status pemutaran saat ini. | |
errorCode | Kode kesalahan pemutaran. |
OnAudioFileInfo
Panggilan balik ini mengembalikan informasi mengenai berkas audio.
virtual void OnAudioFileInfo(AliEngineAudioFileInfo info, AliEngineAudioAccompanyErrorCode errorCode);Panggilan balik ini dipicu setelah Anda memanggil GetAudioFileInfo. Panggilan balik ini mengembalikan informasi mengenai berkas audio saat ini dan kode kesalahan.
Parameter
Parameter | Tipe | Deskripsi |
info | Informasi mengenai berkas audio. | |
errorCode | Kode kesalahan. |
OnRemoteAudioAccompanyStarted
Dipicu ketika pengguna jarak jauh mulai memutar iringan audio.
virtual void OnRemoteAudioAccompanyStarted(const char* uid);Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna jarak jauh. |
OnRemoteAudioAccompanyFinished
Dipicu ketika pemutaran audio iringan pengguna jarak jauh selesai.
virtual void OnRemoteAudioAccompanyFinished(const char* uid);Parameter
Parameter | Tipe | Deskripsi |
uid | const char* | ID pengguna remote. |
SetParameter
Menetapkan parameter kustom.
virtual int SetParameter(const char* parameter) = 0;Parameter
Parameter | Tipe | Deskripsi |
parameter | const char* | Parameter kustom. |
GetParameter
Mendapatkan parameter kustom.
virtual String GetParameter(const char* parameter) = 0;Parameter
Parameter | Tipe | Deskripsi |
parameter | const char* | Parameter kustom. |
ResumeAudioAccompany
Aktifkan atau batalkan berlangganan data audio
virtual int EnableAudioFrameObserver(bool enabled, AliEngineAudioSource audioSource, AliEngineAudioFrameObserverConfig config) = 0;Anda dapat menggunakan antarmuka ini untuk mengaktifkan atau menonaktifkan callback untuk jenis data audio tertentu. Hal ini memungkinkan Anda memperoleh berbagai jenis data audio mentah dan terenkripsi. Secara default, callback dinonaktifkan. Untuk mengaktifkan callback, panggil antarmuka ini.
Saat Anda memanggil API ini untuk mengaktifkan callback data audio untuk AliEngineAudioSource yang sesuai, Anda juga harus menggunakan metode RegisterAudioFrameObserver untuk meneruskan objek yang menerima data audio tersebut.
Waktu Pemanggilan
Anda dapat memanggil antarmuka ini untuk mulai memperoleh data audio.
Deskripsi metrik
Parameter | Tipe | Deskripsi |
enable | bool | Menentukan apakah akan mengaktifkan callback data. |
audioSource | Jenis sumber data untuk callback. Nilai yang valid meliputi post-capture (0), post-3A processing (1), stream ingest (2), playback (3), dan pulled stream audio data (5). Catatan:
| |
config | AliEngineAudioFrameObserverConfig | Konfigurasi parameter callback audio. Ini mencakup laju sampel, jumlah saluran suara, dan mode baca/tulis untuk callback, seperti read-only, write-only, atau read/write. Jika parameter ini null, pengaturan default digunakan: laju sampel 48000, 1 saluran suara, dan mode ReadOnly. |
GetAudioAccompanyDuration
Mendapatkan durasi file iringan dalam milidetik.
virtual int RegisterAudioFrameObserver(IAudioFrameObserver* observer) = 0;Metode ini mendaftarkan objek penerima untuk data callback audio.
Kapan harus dipanggil
Ketika Anda memerlukan SDK untuk memicu callback OnCapturedAudioFrame, OnProcessCapturedAudioFrame, OnPublishAudioFrame, OnPlaybackAudioFrame, atau OnRemoteUserAudioFrame guna memperoleh berbagai jenis data audio, Anda perlu memanggil metode ini untuk menyediakan objek penerima bagi data audio tersebut. Untuk membatalkan pendaftaran, panggil kembali metode ini dan berikan null.
Batasan pemanggilan
Anda harus memanggil EnableAudioFrameObserver untuk mengaktifkan callback untuk AliEngineAudioSource tertentu. Jika tidak, observer yang diberikan tidak dapat memperoleh data.
Deskripsi parameter
Parameter | Tipe | Deskripsi |
observer | IAudioFrameObserver* | Pointer ke objek callback. |
Nilai kembali
Nilai 0 menunjukkan keberhasilan, dan nilai lainnya menunjukkan bahwa operasi gagal.
GetAudioAccompanyCurrentPosition
Mendapatkan progres pemutaran file iringan dalam milidetik.
virtual void UnRegisterAudioFrameObserver(IAudioFrameObserver* observer) = 0;Nilai kembalian
Nama | Tipe | Deskripsi |
observer | Pointer objek callback. |
SetAudioAccompanyPosition
Berlangganan output data video.
virtual void RegisterVideoSampleObserver(IVideoFrameObserver* observer) = 0;Antarmuka ini digunakan untuk mendaftarkan objek output untuk data video. Untuk membatalkan pendaftaran, panggil antarmuka UnRegisterVideoSampleObserver.
Data output dikembalikan melalui callback {@link IVideoFrameObserver}.
Waktu Pemanggilan
Untuk memperoleh data video mentah (misalnya dalam format YUV atau RGBA), Anda dapat memanggil antarmuka ini untuk mendaftarkan pengamat data video guna mendapatkan data video dari setiap tahap.
Nilai kembali
Setelah Anda berhasil mendaftarkan pengamat output data video, SDK memicu callback untuk setiap frame video yang ditangkap. Implementasikan callback ini sesuai dengan kebutuhan bisnis Anda:
OnCaptureVideoSample: Callback untuk data video yang ditangkap secara lokal.
OnRemoteVideoSample: Callback data video jarak jauh.
OnPreEncodeVideoSample: Callback data video lokal sebelum pengkodean.
Deskripsi metrik
Nama | Tipe | Deskripsi |
observer | IVideoFrameObserver | Pointer ke objek callback. |
PreloadAudioEffect
Membatalkan pendaftaran observer untuk keluaran data video.
virtual void UnRegisterVideoSampleObserver(IVideoFrameObserver* observer) = 0;API ini merupakan pasangan dari RegisterVideoSampleObserver. API ini membatalkan pendaftaran observer untuk keluaran data video.
Parameter
Nama | Tipe | Deskripsi |
observer | IVideoFrameObserver | Pointer ke objek callback. |
SnapshotVideo
Mengambil Snapshot dari aliran video.
virtual int SnapshotVideo(const String& userId, const AliEngineVideoTrack &trackType) = 0;Ini adalah panggilan asinkron. Untuk mendapatkan Snapshot, dengarkan callback AliEngineEventListener::OnSnapshotComplete.
Parameter
Parameter | Tipe | Deskripsi |
userId | const String& | ID pengguna. String kosong ("") menunjukkan pengguna lokal. |
trackType | const AliEngineVideoTrack& | Jenis aliran video. Hanya AliEngineVideoTrackCamera dan AliEngineVideoTrackScreen yang didukung. |
Return values
0: Panggilan berhasil. Snapshot dikembalikan dalam callback.
<0: Panggilan gagal.
SetLogDirPath
Mengatur jalur untuk menyimpan file log SDK.
static int SetLogDirPath(const char *logDirPath);Parameter
Nama | Tipe | Deskripsi |
logDirPath | const char * | Jalur mutlak untuk menyimpan file log. |
Return value
Nilai kembali 0 menunjukkan bahwa metode tersebut dipanggil dengan sukses. Nilai lainnya menunjukkan bahwa pemanggilan gagal.
Untuk mencegah loss log, panggil metode ini sebelum memanggil metode SDK lainnya. Aplikasi harus memastikan bahwa folder yang ditentukan ada dan dapat ditulis.
UnloadAudioEffect
Menghapus file efek suara yang telah dimuat sebelumnya.
static void SetLogLevel(AliEngineLogLevel logLevel);Parameter
Nama | Tipe | Deskripsi |
logLevel | Tingkat log. Nilai default adalah AliEngineLogInfo. |
GetNetworkTime
Mendapatkan waktu jaringan saat ini.
virtual long long GetNetworkTime() = 0;Nilai kembali
Mengembalikan waktu jaringan saat ini yang telah disesuaikan dengan offset (waktu NTP) dalam milidetik.
SendDataChannelMessage
Mengirim pesan saluran data.
virtual int SendDataChannelMessage(const AliEngineDataChannelMsg& msg) = 0;Kit pengembangan perangkat lunak (SDK) Alibaba Real-Time Communication (ARTC) memungkinkan Anda mengirim dan menerima pesan kustom. Anda dapat mengirim data pesan kustom secara real-time selama transmisi data audio dan video. Misalnya, panggil antarmuka ini untuk mengirim instruksi kontrol real-time, data sinkronisasi status, atau pesan bisnis lainnya selama transmisi audio dan video. Untuk informasi lebih lanjut, lihat Kirim dan terima pesan kustom.
Saluran pesan kustom dinonaktifkan secara default. Untuk menggunakan fitur ini, panggil API
<a baseurl="t2713962_v4_0_0.xdita" data-node="4904760" data-root="16090" data-tag="xref" href="#d78a13ea0e6hy" id="fe71661227b31">SetParameter</a>dan atur parameter menjadi ("{\"data\":{\"enablePubDataChannel\":true" + ",\"enableSubDataChannel\":true}}") untuk mengaktifkan saluran pesan kustom. Anda dapat mengaktifkan fitur ini sebelum atau setelah bergabung ke saluran.Pesan dapat berisi data apa pun, seperti teks atau citra.
Callback terkait
Callback OnRemoteUserSubscribedDataChannel dipicu ketika pengguna jarak jauh berlangganan saluran data. Setelah menerima callback ini, Anda dapat mengirim pesan saluran data kepada pengguna tersebut.
Setelah pengirim mengaktifkan saluran pesan kustom, mereka dapat memanggil antarmuka ini untuk mengirim pesan kustom. Penerima mendengarkan callback
OnDataChannelMessageuntuk menerima pesan kustom tersebut.
Kapan harus memanggil
Panggil antarmuka ini setelah Anda menerima callback OnRemoteUserSubscribedDataChannel. Callback ini dipicu ketika pengguna jarak jauh memanggil SetParameter dan mengaktifkan EnableSubDataChannel untuk menerima pesan saluran data.
Batasan
Pengguna dengan peran streamer dapat mengirim dan menerima pesan. Pengguna dengan peran viewer hanya dapat menerima pesan.
Panggil SetParameter untuk mengaktifkan saluran pesan kustom.
Parameter
Nama | Tipe | Deskripsi |
msg | const AliEngineDataChannelMsg& | Pesan yang akan dikirim. |
Nilai kembali
0: Sukses.
Nilai bukan nol: Gagal.
PlayAudioEffect
Memulai pemutaran efek suara.
virtual int StartScreenShareByDesktopId(unsignedint desktopId, const AliEngineScreenShareConfig& config) = 0;Parameter
Nama | Type | Deskripsi |
desktopId | unsigned int | ID desktop. |
config | Konfigurasi untuk berbagi desktop. |
Return Value
0: Sukses
Lainnya: Gagal
StartScreenShareByScreenRegion
Memulai berbagi aliran video dari area tertentu pada layar.
Metode ini hanya berlaku untuk berbagi desktop. Untuk berbagi jendela tertentu, gunakan metode StartScreenShareByWindowId.
Resolusi minimum untuk area yang dibagikan adalah 16 × 16. Jika Anda menetapkan area yang lebih kecil dari resolusi ini, sistem akan mengatur ulang area tersebut ke resolusi minimum.
Jika area yang dibagikan melebihi resolusi layar sebenarnya, metode ini akan membagikan seluruh layar.
Untuk informasi lebih lanjut tentang koordinat layar virtual, lihat Virtual Screen Coordinates.
virtual int StartScreenShareByScreenRegion(
const AliEngineScreenShareRegion & screenRegion,
const AliEngineScreenShareConfig & config) = 0;Parameter
Nama | Tipe | Deskripsi |
screenRegion | Posisi area layar yang akan dibagikan relatif terhadap layar virtual. | |
config | Konfigurasi berbagi layar. |
Nilai kembali
0: Sukses
Nilai lainnya: Gagal
StopAudioEffect
Menghentikan pemutaran efek suara.
virtual int StartScreenShareByWindowId(unsigned int windowId,
const AliEngineScreenShareConfig & config) = 0;Parameter
Nama | Tipe | Deskripsi |
windowId | int | ID jendela. |
config | Konfigurasi berbagi layar. |
Nilai kembali
0: Berhasil
Lainnya: Gagal
StopScreenShare
Menghentikan berbagi layar.
virtual int StopScreenShare() = 0 ;Nilai kembali
0: Sukses
Lainnya: Gagal
ResumeScreenShare
Melanjutkan berbagi layar.
virtual int ResumeScreenShare() = 0;Nilai kembali
0: Sukses
Lainnya: Gagal
PauseScreenShare
Menghentikan sementara berbagi layar.
virtual int PauseScreenShare() = 0;Nilai kembali
0: Sukses
Nilai lainnya: Gagal
StopAllAudioEffects
Memeriksa apakah pengiriman aliran berbagi layar telah diatur.
Panggil metode ini untuk memeriksa apakah SDK diatur untuk mendorong aliran berbagi layar. Secara default, SDK tidak mendorong aliran berbagi layar. Untuk memulai berbagi layar, panggil metode StartScreenShareByDesktopId, StartScreenShareByScreenRegion, atau StartScreenShareByWindowId.
virtual bool IsScreenSharePublished() = 0;Nilai kembalian
true: Dorong diaktifkan.
false: Push dinonaktifkan.
PauseAudioEffect
Menghentikan sementara efek suara.
virtual int UpdateScreenShareConfig(const AliEngineScreenShareConfig & config) = 0;Parameter
Parameter | Tipe | Deskripsi |
config | Konfigurasi berbagi layar yang diperbarui. |
Nilai kembali
0: Sukses
Lainnya: Gagal
PauseAllAudioEffects
Menjeda semua efek suara.
virtual bool CheckWindowSourceValid(unsigned int windowId) = 0;Deskripsi Metrik
Parameter | Tipe | Deskripsi |
int | unsigned int | ID jendela. |
Nilai kembali
true: ID jendela yang sesuai valid.
false: ID jendela yang sesuai tidak valid.
ResumeAudioEffect
Mendapatkan konfigurasi berbagi layar saat ini.
virtual AliEngineScreenShareConfig GetScreenShareConfig() = 0;Parameter
Parameter | Tipe | Deskripsi |
int | unsigned int | ID jendela. |
Nilai kembali
true: ID jendela yang ditentukan valid.
false: ID jendela yang ditentukan tidak valid.
GetScreenShareSourceInfo
Mengambil daftar sumber berbagi layar dengan tipe tertentu.
virtual AliEngineScreenSourceList* GetScreenShareSourceInfo(AliEngineScreenShareType sourceType) = 0;Parameter
Parameter | Tipe | Deskripsi |
sourceType | Tipe sumber berbagi layar. |
Nilai kembali
Objek
AliEngineScreenSourceListyang tidak kosong yang merepresentasikan daftar tipe sumber berbagi layar.NULL jika pemanggilan gagal.
ResumeAllAudioEffects
Mendapatkan ID sumber berbagi layar saat ini.
virtual unsigned int GetCurrentScreenShareSourceId() = 0;Nilai kembali
>= 0: ID sumber berbagi layar saat ini.
< 0: Panggilan gagal.
GetCurrentScreenShareSourceType
Mendapatkan jenis sumber berbagi layar saat ini.
virtual AliEngineScreenShareType GetCurrentScreenShareSourceType() = 0;Deskripsi metrik
Parameter | Tipe | Deskripsi |
sourceType | Jenis sumber berbagi. |
Nilai kembali
Objek
AliEngineScreenSourceListyang tidak kosong yang berisi daftar jenis sumber yang dibagikan.NULL menunjukkan kegagalan.
SetAudioEffectPublishVolume
Mengatur volume ingest efek suara.
virtual int GetDesktopRegion(const String& sourceId, const String& sourceTitle, AliEngineScreenShareRegion & region) = 0;Parameter
Parameter | Tipe | Deskripsi |
sourceId | String | ID dari sumber yang dibagikan. |
sourceTitle | String | Judul sumber. |
region | Cakupan berbagi. |
Nilai kembali
0: Berhasil
Lainnya: Gagal
SetScreenShareEncoderConfiguration
Menetapkan properti pengkodean video untuk aliran layar.
virtual void SetScreenShareEncoderConfiguration(const AliEngineScreenShareEncoderConfiguration& config) = 0;Gunakan metode ini untuk mengatur parameter video untuk aliran layar, seperti resolusi, laju frame, bitrate, dan orientasi video. Semua parameter memiliki rentang nilai yang valid. Jika Anda menetapkan parameter di luar rentang yang valid, kit pengembangan perangkat lunak (SDK) akan menyesuaikannya secara otomatis.
Anda dapat memanggil metode ini sebelum atau setelah bergabung ke dalam rapat. Jika Anda hanya perlu menetapkan properti pengkodean aliran layar sekali untuk setiap rapat, panggil metode ini sebelum bergabung.
Parameter
Parameter | Tipe | Deskripsi |
config | Properti pengkodean berbagi layar yang telah ditentukan sebelumnya. |
Antarmuka
IAliEngineMediaEngine