Recorder indicator toggles on then off on spawn

Video of the issue in a unmodified demo scene: https://youtube.com/watch?v=ro3gESXO2a8

Comments

  • Hi @AndrewJRise,

    Thank you for choosing Photon and for taking the time to report this and record a video!

    You can fix this by disabling (unticking / unchecking) TransmitEnabled from Recorder component attached to Voice GameObject in the scene hierarchy.
    We will do so in the next update.
  • AndrewJRise
    edited February 10
    JohnTube wrote: »
    Hi @AndrewJRise,

    Thank you for choosing Photon and for taking the time to report this and record a video!

    You can fix this by disabling (unticking / unchecking) TransmitEnabled from Recorder component attached to Voice GameObject in the scene hierarchy.
    We will do so in the next update.

    Hi I try'd this and although it fixes it for the first client if further clients spawn (and spawns inside of a voice proximity trigger) the issue persists.

    Video of a slightly modified demo scene (Enlarged voice proximity trigger): https://youtube.com/watch?v=UvNhCogy5kw

    At the end of this video you can also see the bug described here.
  • hmm that won't fix it probably
    actually it might due to another minor bug in voice core you have uncovered
    looks like internally IsCurrentlyTransmitting starts true even if TransmitEnabled is false.

    try changing Recorder.IsCurrentlyTransmitting to
    public bool IsCurrentlyTransmitting
            {
                get { return this.TransmitEnabled && this.voice.IsCurrentlyTransmitting; }
            }
    

    or even
    public bool IsCurrentlyTransmitting
            {
                get { return this.IsRecording && this.TransmitEnabled && this.voice.IsCurrentlyTransmitting; }
            }
    
  • JohnTube wrote: »
    hmm that won't fix it probably
    actually it might due to another minor bug in voice core you have uncovered
    looks like internally IsCurrentlyTransmitting starts true even if TransmitEnabled is false.

    try changing Recorder.IsCurrentlyTransmitting to
    public bool IsCurrentlyTransmitting
            {
                get { return this.TransmitEnabled && this.voice.IsCurrentlyTransmitting; }
            }
    

    or even
    public bool IsCurrentlyTransmitting
            {
                get { return this.IsRecording && this.TransmitEnabled && this.voice.IsCurrentlyTransmitting; }
            }
    

    I can confirm this fixes the issue when leaving voice proximity triggers but all solutions still have the bug when joining into a voice proximity trigger.
  • hey @AndrewJRise,

    could you describe the 3 different 'bugs'? w/o videos.
    all 3 issues refer to the pointer up (green one) right?
    so it's all about local player.
    1. one is when the local player joins a room (outside of a trigger):
    - expected: no pointer up until trigger enter
    - actual behaviour: pointer up shows up for a few frames then becomes hidden again
    2. one is when the local player enters a trigger
    - expected: pointer up shows up until trigger exit
    - actual behaviour: ??
    3. one is when the local player exists the trigger:
    - expected: pointer up becomes hidden
    - actual behaviour: pointer up remains shown?
  • after re reading; I think the edge case is when a player enters the room and spawns already colliding with another player. I thought this will trigger OnTriggerEnter callback right? so it should work. no?
  • JohnTube wrote: »
    after re reading; I think the edge case is when a player enters the room and spawns already colliding with another player. I thought this will trigger OnTriggerEnter callback right? so it should work. no?

    You are correct but no it doesn't fix the issue the recorder indicator still toggles on join I think this issue is unrelated to the other one.
  • Hi @AndrewJRise,

    Please update to the latest Photon Voice 2.23.1 and see if the issues are fixed.
    Thanks.
  • Hey @AndrewJRise,

    FYI:
    v2.23.2 (March 10th, 2021)
    [...]
    FIXED: [DemoProximityVoiceChat] ChangeColour script to call RPC only if IsMine.
    FIXED: [DemoProximityVoiceChat] ChangeColour RPC is buffered.
    FIXED: [DemoProximityVoiceChat] ProximityVoiceTrigger checks if attached to local player and disable it if not.