Announcement

Collapse
No announcement yet.

UE 4.19 native spatialization, how to use?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #31
    Hello! I have another proplem. I use OnlineSubsystemNULL. The same things to enable Voice are written in config. My BP code to enable VOIP talker is like yours. So VOIP Talker is valid both on server and client, but attenuation doesn't work on client side and doesn't seem to be set, but on server it works.If I set VOIP setting's defaults with my attenuation , on server side it works fine, on client it doesn't work , but attenuation is set. What should I do to resolve this problem? Thanks

    Comment


      #32
      Anyone having issues on 4.22? My VOIPTalker quit working (unspatialized voip still works fine if I comment out the CreateTalkerForPlayer call).

      Comment


        #33
        Ok after some struggling, i got it working in 4.21.
        Before i used the VOIPTalker i was using the default voice so i tested if it works without calling PlayerController->StartTalking() and in result it seems that its not required for spatial voice.
        All you need to do is, to add the VOIPTalker component to your Character and Multicast the Voice Init as described before.
        VOIP seems to not work in PIE Sessions so run your game as standalone

        Originally posted by КомбоКоломбо View Post
        Hello! I have another proplem. I use OnlineSubsystemNULL. The same things to enable Voice are written in config. My BP code to enable VOIP talker is like yours. So VOIP Talker is valid both on server and client, but attenuation doesn't work on client side and doesn't seem to be set, but on server it works.If I set VOIP setting's defaults with my attenuation , on server side it works fine, on client it doesn't work , but attenuation is set. What should I do to resolve this problem? Thanks
        when it runs on server and not on client, it should tell you all.
        check your replication check if you are on server, and if so, then perform a multicast of the voice init

        Edit:
        I want to mention, that it runs perfectly over Steam and also with Subsystem NULL, just checkout the config settings in the posts before, thank you guys for working out this thread and providing these informations!

        Awesome job for this update and the spatial voice implementation just epic..., as always.
        Epic - I love you so much <3
        You make me feel like a christmas child every single day
        Last edited by makai; 04-26-2019, 05:53 PM.

        Comment


          #34
          Hi!
          Is there any step by step documentation how to make a voip?
          From all that I found - I do not even have this in the engine (custom 4.22). There are not all the functions that are in the screenshot, and it is not clear where to create, what settings.
          Is there an article in which the working method of creating a voip is already described, step by step, or git?

          Comment


            #35
            Originally posted by Ethan_Sherr View Post
            I am also having issues with VOIPTalker. I feel like my subsystem is not correct. This is how I register my VOIPTalker as Ethan.Geller posted. I've confirmed that the code is run (aka the player state is around eventually... and the VOIP gets "registered").


            Click image for larger version  Name:	VOIP-in-Character.PNG Views:	4 Size:	184.5 KB ID:	1493746

            //DefaultEngine.ini
            [OnlineSubsystem]
            DefaultPlatformService=Null
            bHasVoiceEnabled=true

            [Voice]
            bEnabled=true

            //DefaultGame.ini has
            [/Script/Engine.GameSession]
            bRequiresPushToTalk=false

            I am building my engine from source (I don't think this matters), and I'm trying to use the Null subsystem. Maybe I've missed something obvious (does this work in the PIE editor window? do I have to use a different subsystem? maybe I can't use a sourcebuilt engine?
            I have a setup very similar to this, I even copied your check just to see if it helped. I'm building this in VR, and as soon as I start the game in preview mode it seems to register. However, when I push the button I've designated to enable talking, I just get this error: StartLocalVoiceProcessing(): Device is currently owned by another user

            and it does not seem to function at all. No sound comes out with the loop turned on. if I add a tick function "is local player talking" and print on that statement, I get nothing when the button is pushed.

            Yes I've set up the engine file with the proper booleans for voip per instructions. These screenshots are inside a function, so the player state check is done outside the function in graph, just before this is called.
            Attached Files

            Comment


              #36
              Originally posted by crossmr View Post

              StartLocalVoiceProcessing(): Device is currently owned by another user
              FWIW it always seems to log that once even when it is working.

              It usually logs that, then comes back around to the same point in the code later and succeeds (you can try putting a breakpoint there and see if it comes to the enclosing block twice).

              If you are launching two instances in preview, you probably need to instead launch outside of the editor with '-game'. I think it uses some global static variables and stuff in a way that doesn't play nice with two instances running in the same process.

              Comment


                #37
                Originally posted by makai View Post
                Ok after some struggling, i got it working in 4.21.
                Before i used the VOIPTalker i was using the default voice so i tested if it works without calling PlayerController->StartTalking() and in result it seems that its not required for spatial voice.
                All you need to do is, to add the VOIPTalker component to your Character and Multicast the Voice Init as described before.
                VOIP seems to not work in PIE Sessions so run your game as standalone



                when it runs on server and not on client, it should tell you all.
                check your replication check if you are on server, and if so, then perform a multicast of the voice init

                Edit:
                I want to mention, that it runs perfectly over Steam and also with Subsystem NULL, just checkout the config settings in the posts before, thank you guys for working out this thread and providing these informations!

                Awesome job for this update and the spatial voice implementation just epic..., as always.
                Epic - I love you so much <3
                You make me feel like a christmas child every single day
                If you could elaborate how to get it working from scratch, would bbe great for the community. A lot of people here are struggling with this VOIP thing

                Comment


                  #38
                  Recently, this came out: https://couchlearn.com/positional-vo...prints-in-ue4/

                  I'm thinking, probably from someone who read this thread. Now, I followed that tutorial on 4.22 compiled from source, I'm getting the "Device is currently owned by another user" error once when the game starts then for every time I call "ToggleSpeaking 1".

                  Spatial VoIP is not working on my project and I'm sure there are several points that could be at fault. I'd love to hear suggestions on how to debug the functionality.

                  [EDIT] I understand the cause of the error now. My dedicated server instance grabs the mic, then my client instance complains.
                  Last edited by professorbarba; 10-15-2019, 09:39 AM.

                  Comment


                    #39
                    Hi professorbarba,

                    I believe I am running into the same problem as you are. Have you solved it? If so, could you please explain how you did it?

                    Comment


                      #40
                      Originally posted by professorbarba View Post
                      Recently, this came out: https://couchlearn.com/positional-vo...prints-in-ue4/

                      I'm thinking, probably from someone who read this thread. Now, I followed that tutorial on 4.22 compiled from source, I'm getting the "Device is currently owned by another user" error once when the game starts then for every time I call "ToggleSpeaking 1".

                      Spatial VoIP is not working on my project and I'm sure there are several points that could be at fault. I'd love to hear suggestions on how to debug the functionality.

                      [EDIT] I understand the cause of the error now. My dedicated server instance grabs the mic, then my client instance complains.
                      Have you found a work around for the issue of the dedicated server grabbing the mic? Same problem currently. Thanks.

                      Comment


                        #41
                        Originally posted by Carock12 View Post

                        Have you found a work around for the issue of the dedicated server grabbing the mic? Same problem currently. Thanks.
                        Hi there.
                        Plese try using IsDedicatedServer with a Branch before adding VOIPTalker in a Pawn class.
                        In PlayerController or PlayerState shouldn't be a problem. But if you are spawning Pawn class on GameMode (dedicated server's main class), than server owns it. I am not talking about Possesing, talking about Owning it.
                        I didn't try on Dedicated Server but I can use VOIP on Listen Server model.
                        Check Cedric (eXi)'s Network Compendium for more info about Server-Client-Owning-Possessing

                        Comment

                        Working...
                        X