Hi there, I am using vivox for my webgl project, and it works great across multiple platforms including PC, Mac and android, allowing users to speak with and hear each other.
However, on ios (ipad and iphone) users can indeed speak and be heard on other devices, but they cannot hear other users speaking, there is no audio being received from vivox (or if it is being received, it is muted or suppressed somewhere along the way).
Is there any way to solve this problem?
I have tried changing vivox configuration settings, which is fine in editor, but when I load the webgl project in a browser, I get an error along the lines of
“Unable to load DLL ‘VivoxNative’”
so I’m not sure if you can use custom VivoxConfigurationOptions with webgl?
Thank you for raising this. Yes, it looks like we have a bug in the VivoxConfigurationOptions that causes an issue only on WebGL. We will resolve this issue in a future release, but for now, you can work around it by not using that class for WebGL.
In terms of cross-platform voice chat, that should not be an issue. For WebGL in particular, there are some limitations such as speaking indicators, you can find all that information here. Please make sure your in the same channel on all platforms.
What kind of channel are you using, and are there any settings are you changing in the SDK for the platforms that are not receiving audio? Also, are there any error messages?
Thank you for the reply and information, I’m glad unity is looking into it.
I am not receiving any errors unless I try to use VivoxConfigurationOptions.
Users are all on the same channel, and the channel is audio only.
It is very strange, I have tested cross platform from PC, Mac, android (Samsung phone and tablet) and chrome book, and users can both speak and hear others regardless of what device they are using.
When it comes to ios (ipad and iphone) a user can speak into the ipad/iphone microphone, and that audio is transmitted to all other devices. So users can send vivox audio perfectly from ipad/iphone, they just can’t RECEIVE vivox audio.
All other sounds (sound fx, background music etc) work just fine on ios, so it something isolated to the audio from vivox not being received (or muted/supressed).
I found this post:
which mentioned trying to edit the vivox config file to disable Dynamic Voice Processing Switching, which lead me to discover the bug mentioned above.
If there is any other info I can provide, please let me know! Would love to get this working as soon as possible. It is very cool to have a webapp with voice that works across all the major platforms, a great accomplishment from unity and vivox
I’ve tested cross platform voice between iOS and Web myself today without issue.
I’d recommend trying our latest package and without any special configurations, just to ensure your baseline works. I don’t know what configuration you have on iOS to help me understand why you cannot hear other devices on iOS.
There may be a little confusion, sorry if I didn’t clarify. The problem I am experiencing is running webgl on an iOS device, not a native iOS app. So nothing cross platform, its all webgl, just on different devices.
So when I try to run a webgl page on iOS using the safari browser, the game runs great, and I can actually speak over the vivox channel, I can transmit audio perfectly from safari/webgl on iOS, I just can’t receive and/or hear any audio from vivox.
For example: User A ,User B and User C are all accessing the same webGL game. User A is on PC, User B is on android and User C is on iPhone.
User A can transmit audio over voice chat. User A can hear User B and C over vivox voice chat.
User B can transmit audio over voice chat. User B can hear User A and User C over vivox voice chat.
User C can transmit audio over voice chat. User C CANNOT hear User A and B over vivox voice chat.
This problem seems to be isolated only to webgl games running on iOS. iOS users can hear music and SFX, so the problem seems isolated to vivox.
I am using the latest version of vivox, and no special configuration (as it is all webgl)
Hope that clarifies the situation a little better, if you need any more info from me please let me know. Thanks again for your help!
Hi @CarloDiGiUnity , just checking in to see if there have been any updates on this? we are still experiencing this problem for webgl running on ios devices.
Hi @cmart1, thank you for your patience, we did reproduce the issue. It seems like an iOS limitation, as we are trying to play audio without user interaction. We are tracking this issue internally and currently can’t commit to a timeline on a fix.
Any updates @CarloDiGiUnity ? We would really like to be able to use voicechat on WebGL on iOS. It’s a dealbreaker for us if it doesn’t work there. Are there any possible workarounds? Even at the cost of some performance?