본문으로 건너뛰기
Version: 5.5

서브그룹 예제: 통역

예제를 통해 그룹 통화(컨퍼런스)에서 통역 서비스를 제공하는 방법을 살펴봅시다.

요구사항

이 예제의 요구 사항은 다음과 같습니다.

  1. 통역가가 통역을 위해 그룹 통화에 참여함
  2. 모든 참여자가 함께 이야기할 수 있음
  3. 단, 통역가가 통역할 때는 일반 참여자의 볼륨을 낮춤

애플리케이션 설계

이 예제를 위한 애플리케이션 설계는 다음과 같습니다.

  1. 통역을 지원하는 언어별로 서브그룹을 만듭니다.

  2. 통역가는 통역을 위해 해당 언어의 서브그룹에 가입합니다.

    • T-JP: 영->일 통역가. Jp 서브그룹에 가입
    • T-EN: 일->영 통역가. En 서브그룹에 가입
  3. 참여자는 듣고 싶은 언어의 서브그룹을 선택합니다.

    • J1, J2: 일본어 사용자. Jp 서브그룹에 가입.
    • E1, E2: 영어 사용자. En 서브그룹에 가입.
  4. peerUpdate 속성값은 NONE으로 설정합니다.

    • 통역할 서브그룹 언어가 이미 정의되어 있습니다.
  5. videoUpdate 속성값은 FALSE로 설정합니다.

    • 통역 방에서 비디오를 사용하지 않습니다.
  6. 오디오 송수신은 반드시 아래 표처럼 설정해야 합니다.

    오디오 송신오디오 수신
    통역가언어별 서브그룹기본 방
    언어별 참여자기본 방언어별 서브그룹 + 기본 방

통역 방 예제 일반 토폴로지

오디오 흐름

통역이 필요한 오디오의 흐름과 순서는 다음과 같습니다.

통역 방 예제 오디오 토폴로지

  1. 일본어 사용자가 일본어로 발언
  2. 모든 참여자(통역가 포함)가 이를 청취
  3. 통역가 T-EN이 영어로 통역하고, 통역된 영어 오디오가 En 서브그룹으로 전송
  4. 영어 사용자(E1, E2)만 영어 오디오 청취

PlanetKit API 흐름

아래와 같은 상황에서 적절한 서브그룹 API 호출 흐름 및 실제 통역 서비스를 구현할 때 서브그룹에 가입하는 방법을 살펴봅시다.

  • 모든 참여자가 통역 방에 입장
  • 영어 사용자 E1, E2 및 영어 통역가 T-EN은 준비 완료

통역 방 예제 흐름 iOS/macOS

참여자 J2가 통역 서비스를 받는 법은 다음과 같습니다.

  1. J2는 일본어를 사용하므로 Jp 서브그룹에 가입합니다.
  2. 아직 Jp 서브그룹에 오디오를 전송하는 사람이 없으므로, J2에게 전달되는 것이 없습니다.
  3. J2는 "Jp"를 인자로 setTagMyAudioOfMainRoom()을 호출해, 기본 방으로 전송하는 오디오 스트림을 태그합니다.
    • 이는 Jp 서브그룹에 자신의 오디오를 보내도록 변경하지 않으면서도 오디오 스트림이 Jp 서브그룹에 속하게 됨을 의미합니다.
  4. 일본어 통역가 T-JP는 "Jp"를 인자로 changeMyAudioDestination()을 호출해 자신의 오디오 스트림을 Jp 서브그룹으로 보내도록 변경합니다.
    • T-JP가 Jp 서브그룹으로 오디오를 보냅니다.
    • T-JP의 오디오는 J2를 포함한 모든 Jp 서브그룹 멤버에게 전달됩니다.
  5. J2는 T-JP가 통역할 때 일본어를 듣기 위해 "Jp"를 인자로 setPeersAudioAutoVolumeControl()을 호출합니다.
    • E1과 E2의 오디오는 기본 방으로 전달됩니다.
    • E1과 E2는 다른 서브그룹에 있지만 T-JP는 그들의 오디오를 듣습니다.
    • J2도 E1과 E2의 오디오를 듣습니다.
    • T-JP는 이를 일본어로 통역합니다.
    • T-JP의 오디오가 Jp 서브그룹에 속한 J2에게 전송됩니다.
    • J2는 T-JP가 통역한 오디오 및 볼륨을 낮춘 E1, E2의 오디오를 듣습니다.