본문으로 건너뛰기
Version: 1.1

음 소거 상태 공유 및 제어

음 소거란 마이크로 입력된 오디오의 전송을 비활성화하는 것을 말합니다. 로컬 오디오를 음 소거하거나 음 소거 해제하고 애플리케이션의 음 소거 상태를 피어와 공유할 수 있습니다. 또한 특정 피어 또는 모든 피어에게 음 소거하거나 음 소거 해제하도록 요청할 수도 있습니다.

로컬 오디오 음 소거 제어 및 공유

통화 유형별로 로컬 오디오를 음 소거하거나 음 소거 해제하는 방법을 설명합니다.

1대1 통화

1대1 통화에서 로컬 오디오를 음 소거하거나 음 소거 해제하려면 muteMyAudio()를 사용하세요. 로컬 오디오의 음 소거 상태 변경은 onPeerMicMuted 또는 onPeerMicUnmuted를 통해 피어에게 전달됩니다.

다음 다이어그램은 1대1 통화에서 로컬 오디오를 음 소거 및 음 소거 해제하는 흐름을 보여줍니다.

1대1 통화 로컬 오디오 음 소거 시퀀스 다이어그램

관련된 샘플 코드는 다음과 같습니다.

로컬 오디오 음 소거 또는 음 소거 해제하기

// mute: true for mute, false for unmute
Future<bool> muteMyAudioExample(PlanetKitCall call, bool mute) async {
final bool result = await call.muteMyAudio(mute);
print('muteMyAudio(mute=$mute) result: $result');
return result;
}

피어 측에서 관련 이벤트 처리하기

final callEventHandler = PlanetKitCallEventHandler(
onPeerMicMuted: (call) => print('peer mic muted'),
onPeerMicUnmuted: (call) => print('peer mic unmuted'),
);

그룹 통화

그룹 통화에서 로컬 오디오를 음 소거하거나 음 소거 해제하려면 muteMyAudio()를 사용하세요. 로컬 오디오의 음 소거 상태 변경은 onPeersMicMuted 또는 onPeersMicUnmuted를 통해 피어에게 전달됩니다.

다음 다이어그램은 그룹 통화에서 로컬 오디오를 음 소거 및 음 소거 해제하는 흐름을 보여줍니다.

그룹 통화 로컬 오디오 음 소거 시퀀스 다이어그램

관련된 샘플 코드는 다음과 같습니다.

로컬 오디오 음 소거 또는 음 소거 해제하기

// mute: true for mute, false for unmute
Future<bool> muteMyAudioExample(PlanetKitConference conference, bool mute) async {
final bool result = await conference.muteMyAudio(mute);
print('muteMyAudio(mute=$mute) result: $result');
return result;
}

피어 측에서 관련 이벤트 처리하기

final conferenceEventHandler = PlanetKitConferenceEventHandler(
onPeersMicMuted: (conference, peers) =>
print('peers mic muted (${peers.length})'),
onPeersMicUnmuted: (conference, peers) =>
print('peers mic unmuted (${peers.length})'),
);

원격 오디오 음 소거 요청

통화 유형별로 원격 오디오의 음 소거 또는 음 소거 해제를 요청하는 방법을 설명합니다.

Note

피어가 요청을 받았을 때 오디오를 음 소거하거나 음 소거 해제해야 하는지 여부는 구현에 따라 다릅니다.

아래 예시에서는 피어가 요청에 따라 음 소거하거나 음 소거 해제한다고 가정합니다.

1대1 통화

1대1 통화에서 피어에게 음 소거 또는 음 소거 해제를 요청하려면 requestPeerMute()를 사용하세요. 이 요청은 onMuteMyAudioRequestedByPeer를 통해 피어에게 전달되며, 원격 오디오의 음 소거 상태 변경은 onPeerMicMuted 또는 onPeerMicUnmuted를 통해 로컬 사용자에게 전달됩니다.

다음 다이어그램은 1대1 통화에서 원격 오디오의 음 소거 및 음 소거 해제를 요청하는 흐름을 보여줍니다.

1대1 통화 원격 오디오 음 소거 시퀀스 다이어그램

관련된 샘플 코드는 다음과 같습니다.

원격 오디오 음 소거 또는 음 소거 해제 요청하기

// mute: true for mute, false for unmute
Future<bool> requestPeerMuteExample(PlanetKitCall call, bool mute) async {
final bool result = await call.requestPeerMute(mute);
print('requestPeerMute(mute=$mute) result: $result');
return result;
}

피어 측에서 관련 이벤트 처리하기

final callEventHandler = PlanetKitCallEventHandler(
onMyAudioMuteRequestedByPeer: (call, mute) async {
print('my audio mute requested by peer: mute=$mute'),

final bool result = await call.muteMyAudio(mute);
print('muteMyAudio(mute=$mute) result: $result');
},
);

그룹 통화

그룹 통화에서는 특정 피어 또는 모든 피어에게 오디오를 음 소거하거나 음 소거 해제하도록 요청할 수 있습니다.

  • 특정 피어에게 음 소거 또는 음 소거 해제하도록 요청하려면 requestPeerMute()를 사용하세요.
  • 모든 피어에게 음 소거 또는 음 소거 해제하도록 요청하려면 requestPeersMute()를 사용하세요.

이 요청은 onMuteMyAudioRequestedByPeer를 통해 피어에게 전달되며, 원격 오디오의 음 소거 상태 변경은 onPeersMicMuted 또는 onPeersMicUnmuted를 통해 로컬 사용자에게 전달됩니다.

다음 다이어그램은 그룹 통화에서 원격 오디오의 음 소거 및 음 소거 해제를 요청하는 흐름을 보여줍니다.

그룹 통화 원격 오디오 음 소거 시퀀스 다이어그램

관련된 샘플 코드는 다음과 같습니다.

원격 오디오 음 소거 또는 음 소거 해제 요청하기

// Request mute for single peer
// mute: true for mute, false for unmute
Future<bool> requestPeerMuteExample(PlanetKitConference conference, bool mute, PlanetKitUserId peerId) async {
final bool result = await conference.requestPeerMute(mute, peerId);
print('requestPeerMute(mute=$mute, peerId=$peerId) result: $result');
return result;
}

// Request mute for all peers
// mute: true for mute, false for unmute
Future<bool> requestPeersMuteExample(PlanetKitConference conference, bool mute) async {
final bool result = await conference.requestPeersMute(mute);
print('requestPeersMute(mute=$mute) result: $result');
return result;
}

피어 측에서 관련 이벤트 처리하기

final conferenceEventHandler = PlanetKitConferenceEventHandler(
onMyAudioMuteRequestedByPeer: (conference, peer, mute) async {
print('my audio mute requested by peer: mute=$mute'),

final bool result = await conference.muteMyAudio(mute);
print('muteMyAudio(mute=$mute) result: $result');
},
);

관련 API

음 소거 제어 및 상태 공유와 관련된 API는 다음과 같습니다.

1대1 통화

메서드

이벤트

그룹 통화

메서드

이벤트