Secara default, hanya pengguna dalam ruangan yang sama yang dapat berkomunikasi satu sama lain melalui aliran audio dan video. Informasi antar ruangan terisolasi. Anda dapat menggunakan fitur langganan lintas saluran untuk mengaktifkan komunikasi antar ruangan guna memenuhi kebutuhan bisnis dalam skenario tertentu, seperti co-streaming. Topik ini menjelaskan cara mengimplementasikan langganan lintas saluran serta menyediakan kode contoh terkait.
Cara kerjanya
Ketika Streamer A1 berlangganan aliran dari Streamer B1 di Ruang B, jika Ruang B atau Streamer B1 tidak tersedia, A1 akan menunggu hingga aplikasi membatalkan langganan lintas saluran. Hal ini menyederhanakan logika pemrosesan.
Kode contoh
Berlangganan aliran audio dan video lintas saluran
Kode contoh untuk Android:
/* Berlangganan aliran kamera dan aliran audio dari B1 di Ruang B. */ mAliRtcEngine.subscribeRemoteDestChannelStream("B","B1",AliRtcVideoTrack.AliRtcVideoTrackCamera,true,true);Kode contoh untuk iOS:
/* Berlangganan aliran kamera dan aliran audio dari B1 di Ruang B. */ [self.engine subscribeRemoteDestChannelStream:@"B" uid:@"B1" track:AliRtcVideoTrackCamera subAudio:YES sub:YES];Kode contoh untuk Windows:
/* Berlangganan aliran kamera dan aliran audio dari B1 di Ruang B. */ mAliRtcEngine->SubscribeRemoteDestChannelStream("B","B1",AliEngineVideoTrackCamera,true,true);
Membatalkan langganan lintas saluran untuk aliran audio dan video
Kode contoh untuk Android:
/* Berhenti berlangganan aliran kamera dan aliran audio dari B1 di Ruang B. */ mAliRtcEngine.subscribeRemoteDestChannelStream("B","B1",AliRtcVideoTrack.AliRtcVideoTrackNo,false,false);Kode contoh untuk iOS:
/* Berhenti berlangganan aliran kamera dan aliran audio dari B1 di Ruang B. */ [self.engine subscribeRemoteDestChannelStream:@"B" uid:@"B1" track:AliRtcVideoTrackNo subAudio:NO sub:NO];Kode contoh untuk Windows:
/* Berhenti berlangganan aliran kamera dan aliran audio dari B1 di Ruang B. */ mAliRtcEngine->SubscribeRemoteDestChannelStream("B","B1",AliEngineVideoTrackCamera,false,false);