Experienced sound volume issues with Tokbox/Vonage Video API on iPhone to iPhone calls? - ios

We've implemented Vonage's Video API in our application without any significant problems until we recently noticed a very low sound volume for one of the two participants on a video call when the participants are both using iPhones - both Chrome and Safari browsers. This was even when the phone volume setting was on full. Both phones are on the latest iPhone software 15.2.
Has anyone experienced a similar problem and found a solution?
Thanks

Related

How to prevent Web-Audio on iOS from switching to mono when accessing the microphone?

we are developing a web app, that is supposed to play high quality stereo in combination with accessing the microphone input. We got this to work on all android and pc browsers, but the iphone is refusing to do this properly. We nailed the problem down to the access of the microphone input by "getUserMedia". Web audio plays stereo, until the microphone is enabled. Then, the quality drops and the output goes to mono. I have researched this problem in the internet, but only found posts that are several years old. My hope is, that things have changed in the meantime and solutions have been found. It seems like the phone is switching into some kind of "call mode". I would like to avoid this by either overriding corresponding settings or maybe by using a different way than using web-audio to play the stereo signal. I am open for any ideas. The worst case seems that we have to develop a dedicated native app for ios. If there is any workaround to make this happening in a web app, this would be highly appreciated. If desired, I can provide code snipplets, but I think, at this moment the problem should be clear.
BTW, in android we had similar problems and found that "Dolby Atmos" setting is causing strange mixing down to mono under certain circumstances. Switching it off fixed the android issues. Maybe this helps somebody else and maybe there are global settings on the iphone as well that could cure the problem..
Thank you very much in advance!
Cheers,
Chris
The worst case seems that we have to develop a dedicated native app for ios.
Unfortunately, this is the path forward most likely to yield success for you (if you haven't already figured this problem out, since I'm answering your question almost a year later).
The audio I/O device landscape is complicated, and there are several standards and factors that play into the quality of audio input and output an application yields. For instance:
Is the audio input device the same as the audio output device?
If yes, is the audio I/O device Bluetooth?
If yes, it's unlikely that the Bluetooth audio device supports stereo audio out and simultaneous audio input. Few I/O devices support that, and few host devices support that.
If yes, which Bluetooth version does the I/O device support?
Which operating system is the host device running?
Does the host device's operating system support the selection of audio input and output devices separately?
How much access to the host operating system does your application have?
For example, if your application is running in a browser, your application will have significantly less control over the host device's operating system's audio subsystem.
I have been trying to work around this problem recently, too. Another developer did a detailed investigation of this using a spectrum analyser and scope, and didn't have any luck either: testing iOS audio play/record with scope.
I think building a native app will end up being inevitable, and would also fix the myriad other problems with Safari web audio. Either that or wait until Apple fixes the bugs or implements AudioWorklets.

HTML 5 Video's Audio Muted in iOS 10 Web Apps

Audio in HMTL5 video works fine in Safari on iOS 10.3.1 on iPhone, though it doesn't in standalone web apps (same html code & video file). Video play is fine. Just no sound.
There are a few other related discussions in the past, eg, Why HTML5 video doesn't play in IOS 8 WebApp(webview)?. I tested on iOS 10 using the html provided by that post.
Not sure whether it is a new bug introduced in iOS 10, or a bug that has never been fixed by Apple since earlier versions. Does anyone experience this issue? Are there any workarounds? Thanks in advance.
I had the same question. I googled all over the place. Then I realized what was causing the problem: I had the physical "soft mute" switch (next to the volume buttons) on my iPad turned on. Infuriatingly, this muted the volume on web apps, but not Safari web pages.

Robotic voice through iphone 6s microphone

I am developing an app to do live video streaming and when I recently upgraded to an iPhone 6s, all noise going through the microphone sounds robotic (or like a cricket). I can reproduce this issue only using the skype app, but no other app have this similar output. The skype support forums say that this is a problem they're seeing on iPhone 6s [1] but don't give any details as to what's causing it.
The interesting thing is it doesn't have issues when I use the microphone jack via my headphones, only when the built in microphone is used. Is there a permission or a change I need to make to my app to fix this?
[1] - http://community.skype.com/t5/iOS-iPhone-and-iPad/iPhone-6s-Distorted-sound/td-p/4138308
The 6S is apparently locked to a 48000 sample rate when using the built in microphone. Maybe you tried to set the format to 44100. I think the only way to deal with this is to query an active AVAudioSession for it's sampleRate property and set your format's sample rate to that.
This is a know issue consumer users are seeing. It might be the iOS 9 update was not working properly.
Here's a source (might not be that trusted for some but it's a start)
http://9to5mac.com/2015/09/30/iphone-6s-touch-id-3d-touch-speaker-power-issues/
You can try a different app from the App Store, or call someone on speaker, to check if the issues is reproducible.

Mjpeg broken on recent Mobile Safari?

I am playing with live mjpeg streams from IP cameras and found that support for mjpeg seems to be broken on recent Mobile Safari releases.
I am using a simple HTML test page with an embedded image as follows:
<img src="http://[ip_address]/[path]">
This works fine on an iPhone 4S with iOS 5.1, but doesn't show anything on an iPad with iOS 7.0.3.
Can someone confirm this? Any known workarounds?
MJPEG support on iPhone (and on OSX also) has been often broken in the past, and I can confirm that right now I'm having the same problem with MJPEG streams on my iPhone 5, version 7.0.4.
You can find some threads talking about this problem in the apple website, dating from mid 2013 and with a few recent answers, like this one https://discussions.apple.com/message/22933450#22933450
This one posts a possible solution, if you can control the stream:
https://discussions.apple.com/thread/4347848
I have not tried if this solution works, because I can't change the stream itself.
And the problem was also on OSX Lion :
https://discussions.apple.com/message/19028348#19028348
They say it has been fixed in OSX, and that some bug reports has been filed for ios, but can't find if and when they will be fixed.
I can't find it again, but in a comment someone speculate that MJPEG support was disabled/limited on purpose on iPhone because some users had their mobile bandwidth consumed when forgetting mobile safari connected to a site streaming mjpeg images, but can't find a reference to that claim.

getEnhancedMicrophone() doesn't work (reduce echo) on air mobile for IOS

I have a problem with my flex mobile application on iOS. It is a video chat application with a red5 server.
The video works fine but the voice has a big echo! I tried using getEnhancedMicrophone() but it didn't help.
How can I have Acoustic Echo cancellation or suppression on IOS?
I work on Flash Builder 4.6 with Air 3.5
There no known solutions.
Adobe been promising a fix for years but the solution requires access to Android source code from Google that is not open source. I had the same issues with a videChat app on Android using Adobe Air. I tried as workaround:
Switching mic.setLoopback(false/true) in a timer to break up the audio
Trying to detect sound coming over NetStream and set the local device mic gain to 0
Problem is I cannot detect if someone is talking over NetStream.
Use NetStreamInfo audio properties like audioBytesPerSecond but these do not jump when someone is talking over NetStream.
The problem is solved if the user wears headphones on the mobile side but this is not acceptable.

Resources