라이브 방송
TRTC 시나리오 및 캐릭터
일반적인 업무 시나리오에서는 모든 사용자가 스트림 배포를 필요하는 것이 아니라 일부 사용자는 스트림 구독만 필요합니다.
TRTC에는 2가지 시나리오가 있습니다.
rtc 시나리오: 기본 시나리오입니다. rtc 시나리오에서 사용자 모두가 호스트이며, 이 시나리오에는 시청자 캐랙터가 존재하지 않습니다.
호스트 푸시 가능합니다. 1개 방은 최대 50개 호스트의 동시 푸시를 지원합니다.
시청자 푸시 불가능합니다. 시청자 수에 대한 제한은 없습니다.
호스트 측
await trtc.enterRoom({scene: TRTC.TYPE.SCENE_LIVE,role: TRTC.TYPE.ROLE_ANCHOR,sdkAppId,userId,userSig,roomId});
시청자 측
시청자로 입장
캐릭터 매개변수를 TRTC.TYPE.ROLE_AUDIENCE로 설정합니다.
await trtc.enterRoom({scene: TRTC.TYPE.SCENE_LIVE,role: TRTC.TYPE.ROLE_AUDIENCE,sdkAppId,userId,userSig,roomId});
원격 오디오 재생
기본적인 상황에서, SDK는 자동으로 원격 오디오를 재생하므로 API를 호출할 필요 없이 원격 오디오를 재생할 수 있습니다.
자동 재생 정책 제한
사용자가 방으로 들어가기 전에 페이지와 인터랙션을 하지 않으면 자동 재생 정책 제한으로 인해 오디오 자동 재생이 실패할 수 있습니다. 자동 재생 제한 처리를 참고하여 처리해야 합니다.
SDK의 오디오 자동 재생을 원하시지 않으면 아래 방법을 시도할 수 있습니다.
trtc.on(TRTC.EVENT.REMOTE_AUDIO_AVAILABLE, event => {// Call this api when you need to play remote audio.trtc.muteRemoteAudio(event.userId, false);// Stop remote audiotrtc.muteRemoteAudio(event.userId, true);})// Setting autoReceiveAudio = false to turn off automatic audio playback.await trtc.enterRoom({ ..., autoReceiveAudio: false });
원격 비디오 재생
1. 방에 들어가기 전에 TRTC.EVENT.REMOTE_VIDEO_AVAILABLE 이벤트를 모니터링하여 모든 원격 사용자의 비디오 배포 이벤트를 수신합니다.
2. 이 이벤트를 수신한 후 trtc.startRemoteVideo()를 호출하여 원격 비디오 스트림을 재생합니다.
trtc.on(TRTC.EVENT.REMOTE_VIDEO_AVAILABLE, ({ userId, streamType }) => {// To play the video image, you need to place an HTMLElement in the DOM,// which can be a div tag, assuming its id is `${userId}_${streamType}`const view = `${userId}_${streamType}`;trtc.startRemoteVideo({ userId, streamType, view });});
캐릭터 전환 방법
// Switch to the anchorawait trtc.switchRole(TRTC.TYPE.ROLE_ANCHOR);// Turn on mic and camera, then the other anchor in the room will able to receive your audio and video.await trtc.startLocalAudio();await trtc.startLocalVideo();// Switch back to the audience when the calling is endedawait trtc.switchRole(TRTC.TYPE.ROLE_AUDIENCE);