채팅 표시기 확인
PlayFab Party의 채팅 표시기를 사용하여 오디오 문제를 해결할 수 있습니다.PartyLocalChatControl::GetLocalChatIndicator()를 사용하여 로컬 채팅 컨트롤의 순간 오디오 상태를 확인하세요. 정상적인 채팅 컨트롤은 라이브러리가 마이크 입력에서 음성을 감지하는지 여부에 따라 PartyLocalChatControlChatIndicator::Silent 또는 PartyLocalChatControlChatIndicator::Talking을 반환합니다.
-
PartyLocalChatControlChatIndicator::AudioInputMuted가 반환되면, 채팅 컨트롤의 아웃바운드 오디오 스트림이 이전에PartyLocalChatControl::SetAudioInputMuted(true)호출을 통해 음소거되었음을 의미하며,PartyLocalChatControl::SetAudioInputMuted(false)를 호출하여 음소거를 해제해야 합니다. -
PartyLocalChatControlChatIndicator::NoAudioInput이 반환되면, 로컬 채팅 컨트롤의 오디오 입력이PartyLocalChatControl::SetAudioInputMuted()호출로 설정된 적이 없거나, 오디오 입력이 초기화에 실패한 경우입니다. 오디오 입력 초기화 실패를 진단하는 팁은 다음 섹션을 계속 진행하세요.
PartyLocalChatControl::GetChatIndicator()를 사용하여 로컬 채팅 컨트롤을 기준으로 원격 채팅 컨트롤의 오디오 입력 상태를 확인하세요.
-
오디오를 들을 수 있을 것으로 예상했는데
PartyChatControlChatIndicator::Silent가 반환되면, 원격 오디오 장치에 문제가 있거나 원격 장치의 채팅 권한이 이 채팅 컨트롤로 오디오를 보내도록 구성되지 않았을 수 있습니다. 이러한 상황이라면 다음 섹션을 계속 진행하세요. -
PartyChatControlChatIndicator::Talking이 반환되지만 여전히 오디오를 들을 수 없다면, 로컬 오디오 출력 장치에 문제가 있을 수 있습니다. 오디오 장치가 정상인지 확인하는 방법을 배우려면 다음 섹션을 계속 진행하세요. -
PartyChatControlChatIndicator::IncomingVoiceDisabled가 반환되면, 로컬 채팅 컨트롤이 원격 채팅 컨트롤로부터의 오디오를 허용하도록 채팅 권한이 구성되지 않았다는 의미입니다. 채팅 권한 섹션을 계속 진행하세요. -
PartyChatControlChatIndicator::IncomingCommunicationsMuted가 반환되면, 이는 이전PartyLocalChatControl::SetIncomingAudioMuted()호출을 통해 수신 오디오가 음소거되었음을 의미합니다.PartyLocalChatControl::SetIncomingAudioMuted()를 호출하여 원격 채팅 컨트롤의 음소거를 해제하세요.
오디오 장치가 성공적으로 초기화되었는지 확인
PartyLocalChatControl::SetAudioInput() 또는 PartyLocalChatControl::SetAudioOutput()을 호출한 직후 PartyLocalChatAudioInputChangedStateChange 또는 PartyLocalChatAudioOutputChangedStateChange가 발생합니다. 이 두 상태 변경 모두 오디오 장치와 관련된 문제를 해결하는 데 도움이 될 수 있는 정보를 포함합니다. 이러한 상태 변경에는 오디오 장치의 상태에 대한 정보를 제공하는 PartyAudioInputState 필드와 PartyAudioOutputState 필드가 포함됩니다. 오디오 장치의 상태가 Initialized가 아니면, PlayFab Party가 원하는 오디오 장치를 사용할 수 없었다는 의미입니다. 상태 변경의 errorDetail 필드도 상황에 대한 추가 정보를 얻는 데 사용할 수 있습니다. PartyManager::GetErrorMessage()를 호출하여 오류 세부 정보를 사람이 읽을 수 있는 형태로 얻을 수 있습니다.
기본적으로 채팅 컨트롤은 어떠한 오디오 장치와도 연결되어 있지 않습니다. 모든 채팅 컨트롤에서
PartyLocalChatControl::SetAudioInput()과 PartyLocalChatControl::SetAudioOutput()을 호출하세요.채팅 컨트롤에 올바른 채팅 권한이 있는지 확인
PartyLocalChatControl::GetPermissions()를 사용하여 두 채팅 컨트롤 간의 PartyChatPermissionOptions를 조회하세요. 예를 들어, 사용자 Alice가 다른 사용자 Bob의 소리를 들을 수 없다면, Alice가 Bob으로부터 오디오를 받을 권한이 있는지, 그리고 Bob이 Alice에게 오디오를 보낼 권한이 있는지 확인해야 합니다.
Alice의 장치에서:
Windows에서 기본 장치와 기본 통신 장치 확인
Windows에서 오디오와 관련해 자주 혼동되는 지점은 기본 장치와 기본 통신 장치의 개념입니다. Windows는 두 개념을 모두 지원하며 서로 다른 장치가 될 수 있습니다. PlayFab Party는 설계상AudioDeviceSelectionType::SystemDefault가 PartyLocalChatControl::SetAudioInput 또는 PartyLocalChatControl::SetAudioOutput에 전달될 때 Windows 버전의 라이브러리에서 기본 통신 장치를 사용합니다. 문제 해결과 테스트는 항상 기본 통신 장치를 기준으로 수행해야 합니다.