Getting Voice Chat Working - Device owned by another user

Hello all,

***Since I want to reach as many developer as I can; creating copy of question in UE4 AnswerHub here.


For several days I’m trying to get voice chat working. I have read all topics and documentation about voice chat but unable to get it working.

I’ve used both OnlineSubsystemSteam and OnlineSubsystemNull. These are firing “Device is currently owned by another user” error when I try to talk.

Thus, I’ve modified code to return true in following function and still I can’t hear voices. Voice packets in “net stat” is always “0”. I’ve tried in different comptuers through lan as well as in UE 4 editor.

 FORCEINLINE bool IsOwningUser(uint32 UserIndex)
     {
         return UserIndex >= 0 && UserIndex < MAX_SPLITSCREEN_TALKERS && OwningUserIndex == UserIndex;        
     }

After these experiments I decided to take a look to ShooterGame example. It is giving “device is currently owned by another user” error too.

In some UE powered game’s Steam discussions people are telling it’s solved by closing Skype or applications that may use microphone. But in this case these aren’t worked for me.

You can find detailed error log (Manual trigger):

 Cmd: ToggleSpeaking true
 LogVoiceEncode:Error: StartLocalVoiceProcessing(): Device is currently owned by another user
 LogVoice: StartLocalProcessing(0) returned 0x80004005
 LogVoice: Starting networked voice for user: 0
 Cmd: OnRelease ToggleSpeaking false
 Cmd: ToggleSpeaking false
 LogVoiceEncode:Error: StopLocalVoiceProcessing: Ignoring stop request for non-owning user
 LogVoice: StopLocalVoiceProcessing(0) returned 0x80004005
 LogVoice: Stopping networked voice for user: 0

What I’ve done to get it working so far:

Engine.ini

 [Core.Log]
 LogNet=verbose
 LogOnline=verbose
 LogVoice=verbose
 
 
 [OnlineSubsystem] 
 DefaultPlatformService=Null
 bHasVoiceEnabled=true
 
 [Voice] 
 bEnabled=true

Game.ini (I’ve tried both true and false in ShooterGame example since it has an implemented trigger)

 [/Script/Engine.GameSession]
 bRequiresPushToTalk=false

EDIT: This is the debug output (isowninguser return set to true - shooter game example):

What I am asking for is:

1.What is the reason behind “Device is currently owned by another user” error ?

2.Is there some steps or implementation details I am missing ?

Bumping post.

I have the same problem on an android device. Device is currently owned by another user. No one knows whats behind this error message?

Has anyone found a solution. Same problem.

same problem here

got this error as well…