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 ?