Audiokinetic's Community Q&A is the forum where users can ask and answer questions within the Wwise and Strata communities. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

Cannot hear voice chat on Xbox One on the Communication bus

0 votes

Hello!

I am having an issue with the voice chat only on Xbox One (works on PC): I do not hear the voice chat that is correctly sent on the Communication bus.

We add the Communication bus by calling AddOutput in the game and after the sound banks are loaded:

AkOutputSettings communicationOutputSettings("Communication");
AkOutputDeviceID outputDeviceID;
AKRESULT result = AK::SoundEngine::AddOutput(communicationOutputSettings, &outputDeviceID);

The result is 1 (means that it is ok) and the returned output device id is the one of the Communication device.

We have validated through Wwise profiler that the sound is correctly sent to the Communication bus on Xbox One as we need sound levels changing when someone speaks. However, the sound is not played either on the TV or in the headset.

As a possible solution, I have attemped to set a "idDevice" other than 0 on the AkOutputSettings object passed to AddOutput (by iterating on the audio endpoints - IMMDeviceEnumerator::EnumAudioEndpoints - and passing them to AK::GetDeviceID), but it does not solve the problem.

When we dynamically change the sound to be outputted on the Master Audio Device bus instead of the Communication bus, we hear the voice chat on Xbox One. I think there's a configuration issue or something missing for the Communication bus that I don't know about.

Is there something that is missing for the voice chat to be heard on Xbox One?

EDIT: In addition, I have noticed that it works on Xbox One when I use the Controller_Headphones default bus + the right ID for the controller:

inline AkUInt32 GetPlayerID(AkUInt32 index)
{
    WCHAR szIdent[] = L"XboxControllerRender#0";
    *(wcschr(szIdent, '#') + 1) = (wchar_t)('0' + index);
    return AK::GetDeviceIDFromName(szIdent);
}

AkOutputSettings communicationOutputSettings("Controller_Headphones", GetPlayerID(0));
AkOutputDeviceID outputDeviceID;
AKRESULT result = AK::SoundEngine::AddOutput(communicationOutputSettings, &outputDeviceID);

Could there be something wrong with the Communication bus on Xbox One? (or a bug?)

Have a good day!
 

Have a good day!

asked Mar 31, 2022 in General Discussion by Pierre-Alexandre G. (100 points)

Please sign-in or register to answer this question.

...