Oculus Quest - Users can't hear each other

Parameters:
Pun 2.28
3 Oculus Quest headsets

We have three users in a room: A, B, C. User A can hear B and C speaking, but user A's mic does not work (echo debug doesnt work).User B's echo debugger doesn't work, but B can be heard by both A and C. B can't hear A nor C. User C's echo debugger works, but C can only be heard by A.

Logging levels have been set to ALL, but there doesn't seem to be anything substantial. We get:

(From the logging of C)
-PhotonVoiceView already setup
-Voice client is still not in a room, skipping late linking check.
- queueIncomingCommand() CMD(7 ch#/sq#/usq#: 2/3/1546 r#/st/tt:0/0/0) channel seq# r/u: 3/1544

For background: user B and C were able to communicate in this project a month ago, and we haven't touched the photon component since. We've checked our windows permissions and made sure we're all on the same id for our server settings.

Comments

  • Hi @MTD,

    Thank you for choosing Photon!

    You could make use of this VoiceDebugScript ("Assets\Photon\PhotonVoice\Code\PUN\UtilityScripts\VoiceDebugScript.cs"), attached to the same GameObject as PhotonVoiceView and then call "VoiceDebugScript.CantHearYou" for the person you can't hear.
  • MTDMTD
    edited April 5
    Edit: Updated my photon voice, we have our photonVoiceView attached to a network prefab so running the "CantHearYou" call returns a NullReferencException:"Object reference not set to an instance of an object".
  • Hi @MTD,

    Could you share the full stack trace of the error please?
  • MTDMTD
    Didn't run into the nullptr today, but here's the console log

    Player #01 'Guest769' replied to my CantHearYou message with no idea why!, should be working (1)
    UnityEngine.Debug:LogErrorFormat(String, Object[])
    Photon.Voice.PUN.UtilityScripts.VoiceDebugScript:HeresWhy(String, PhotonMessageInfo) (at Assets/Photon/PhotonVoice/Code/PUN/UtilityScripts/VoiceDebugScript.cs:220)
    System.Reflection.MethodBase:Invoke(Object, Object[])
    Photon.Pun.PhotonNetwork:ExecuteRpc(Hashtable, Player) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs:568)
    Photon.Pun.PhotonNetwork:RPC(PhotonView, String, RpcTarget, Player, Boolean, Object[]) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs:1248)
    Photon.Pun.PhotonNetwork:RPC(PhotonView, String, Player, Boolean, Object[]) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetwork.cs:2874)
    Photon.Pun.PhotonView:RPC(String, Player, Object[]) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonView.cs:725)
    Photon.Voice.PUN.UtilityScripts.VoiceDebugScript:Reply(String, Player) (at Assets/Photon/PhotonVoice/Code/PUN/UtilityScripts/VoiceDebugScript.cs:214)
    Photon.Voice.PUN.UtilityScripts.VoiceDebugScript:CantHearYou(String, String, String, PhotonMessageInfo) (at Assets/Photon/PhotonVoice/Code/PUN/UtilityScripts/VoiceDebugScript.cs:209)
    System.Reflection.MethodBase:Invoke(Object, Object[])
    Photon.Pun.PhotonNetwork:ExecuteRpc(Hashtable, Player) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs:568)
    Photon.Pun.PhotonNetwork:RPC(PhotonView, String, RpcTarget, Player, Boolean, Object[]) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs:1248)
    Photon.Pun.PhotonNetwork:RPC(PhotonView, String, Player, Boolean, Object[]) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetwork.cs:2874)
    Photon.Pun.PhotonView:RPC(String, Player, Object[]) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonView.cs:725)
    Photon.Voice.PUN.UtilityScripts.VoiceDebugScript:CantHearYou() (at Assets/Photon/PhotonVoice/Code/PUN/UtilityScripts/VoiceDebugScript.cs:115)
  • Hi @MTD,

    After taking a look at which point in the code the message "no idea why!, should be working (1)" is returned, it looks like you are calling "CantHearYou" on your own local player's object.
    Is this intended?
    I think you want to call it for remote players' objects, especially those you can't hear.
  • MTDMTD
    Well I have echo debug on but couldn't hear myself. I'll try with a paired headset but my partners were unavailable. Is it common for the Quest to be finnicky with its mic? We've noticed that some days it will work but most days it won't
  • Is it common for the Quest to be finnicky with its mic?
    Not sure, I don't think it's related to Quest's mic.
    We've noticed that some days it will work but most days it won't
    Well I want to help but we need more than this.

    By the way, in order to use VoiceDebugScript efficiently, you need latest Photon Voice 2.24 as in the version VoiceDebugScript before is broken.
  • Hi,
    @MTD you describe a similar problem we have in our application - with voice on Quest 2. By the way are you also using the business version of Quest 2 or the consumer version? Or is it Quest 1?
    On our side usually user A can't be heard by the others B,C while the others can communicate normally with each other. A also can hear B & C, but his microphone is not working. It also happens randomly but
    we can reproduce this by having for example 3 rooms open and then switching together from room to room until it occurs. Usually this occurs after 3-6 room switches.
    Right now we found a "hacky" workaround by stopping and restarting the recorder of every player on room join. This way we have not yet experienced the problem again (but need more testing though)...
    Of course this is not an ideal solution!
Sign In or Register to comment.