Por padrão, apenas usuários na mesma sala podem se comunicar por streams de áudio e vídeo. Salas diferentes são isoladas entre si. A assinatura entre canais permite a comunicação entre salas em cenários como transmissão conjunta.
Como funciona
Quando o Streamer A1 assina o stream do Streamer B1 na Sala B, se a Sala B ou o Streamer B1 não existir, o A1 aguardará até que o aplicativo cancele a assinatura. Esse comportamento simplifica a lógica de processamento.
Código de exemplo
Assinar streams de áudio e vídeo entre canais
-
Exemplo de código para Android:
/* Subscribe to the camera stream and audio stream of B1 in Room B. */ mAliRtcEngine.subscribeRemoteDestChannelStream("B","B1",AliRtcVideoTrack.AliRtcVideoTrackCamera,true,true); -
Exemplo de código para iOS:
/* Subscribe to the camera stream and audio stream of B1 in Room B. */ [self.engine subscribeRemoteDestChannelStream:@"B" uid:@"B1" track:AliRtcVideoTrackCamera subAudio:YES sub:YES]; -
Exemplo de código para Windows:
/* Subscribe to the camera stream and audio stream of B1 in Room B. */ mAliRtcEngine->SubscribeRemoteDestChannelStream("B","B1",AliEngineVideoTrackCamera,true,true);
Cancele assinatura entre canais de streams de áudio e vídeo
-
Exemplo de código para Android:
/* Unsubscribe from the camera stream and audio stream of B1 in Room B. */ mAliRtcEngine.subscribeRemoteDestChannelStream("B","B1",AliRtcVideoTrack.AliRtcVideoTrackNo,false,false); -
Exemplo de código para iOS:
/* Unsubscribe from the camera stream and audio stream of B1 in Room B. */ [self.engine subscribeRemoteDestChannelStream:@"B" uid:@"B1" track:AliRtcVideoTrackNo subAudio:NO sub:NO]; -
Exemplo de código para Windows:
/* Unsubscribe from the camera stream and audio stream of B1 in Room B. */ mAliRtcEngine->SubscribeRemoteDestChannelStream("B","B1",AliEngineVideoTrackCamera,false,false);