beeeenB
Normal2y ago
28 replies
beeeen

RealtimeAvatarVoice not creating AudioOutput component for remote clients sometimes

Occasionally, during a scene transition, clients can no longer hear one or more remote clients. While digging into this, I found that when this happens, the audioOutput component on the avatars of the remote client on the local client do not create an audioOutput.

For example, if Ann and Bob are playing and they go through a scene transition, Bob may no longer hear Ann. In this case, Ann has initialized all voice streams correctly. However, Bob's client did not correctly initialize the audioOutput of Ann on his machine. Because of this, Bob can no longer hear Ann.

Android Logcat shows the error:
RealtimeAvatarVoice: Unable to find matching audio stream for avatar (clientID: 0, streamID: 0).
This message is outputted in line 298 (in the decompilation) of RealtimeAvatarVoice. This occurs when audioOutputStream is null. audioOutputStream is assigned a few lines before with
AudioOutputStream audioOutputStream = room.GetAudioOutputStream(clientID, streamID);.

One other thing to note is that the AudioSource component never gets assigned its voice streaming clip. I'm assuming that this is because the script fails. Also, this is Normcore 2.9.1.

I think that it's worth noting that our game will load the scene, do a match making check, and then connect the room. So the scene loads before the room does. Not sure if that makes a difference. I've attached images of the native error from a build as well as our RealtimeAvatarVoice setup on our avatar.
Screenshot_2024-06-03_105716.png
Screenshot_2024-06-03_105803.png
Was this page helpful?