How to access full camera resolution on iOS Safari? - ios

I have been developing a web application that uses getUserMedia to access the user's video camera stream to take photos. For this purpose I want to get the camera's maximum resolution or at least something fairly high.
This works fine on Windows, Linux, Android (Chrome and Firefox respectively).
However, on iOS Safari (iOS 11.4.1, Safari 11.0) it always just gives me 1280x720 pixels at most. Of course this is not the maximum of my Iphone 6 Plus' camera.
This command lets me reproduce my issue easily via the JS console by requesting the stream and logging its settings shortly after:
navigator.mediaDevices
.getUserMedia({video:{width:8000,height:8000, facingMode:'environment'}})
.then(stream => setTimeout(()=>console.log(stream.getVideoTracks()[0].getSettings()),500))
.catch(console.error)
The unrealistically high "ideal" constraints for width and height cause the other browsers on Android etc to return the respective camera's maximum resolution. Not so for iOS Safari.
Has anyone managed to get higher resolutions via getUserMedia on mobile Safari?
Thank you!

Related

Resonance Audio - progressive crackling / distortion on iOS

Reproduction url: https://lucaslcode.github.io/ios-web-audio-bug/
I am creating a web app that combines AFrame for augmented reality and Resonance Audio for spatial audio. Resonance uses the Web Audio api.
On iOS, the audio becomes progressively more crackly and distorted like a feedback loop, until it stops completely. I have tested this on an iPhone 6s running iOS 14.6 within about 10 seconds, and also occurs on an iPhone 12 mini on iOS 14.6 after a few minutes.
The issue does not occur on a Macbook Air (Early 2014, safari 14.0.1, macOS 10.14.6), windows 10 laptop or xiaomi phone running Chrome.
I would understand consistant glitching due to performance, but not gradually increasing.
Thanks for your time!
We saw similar behaviour in Safari on Mac when we were running animations with requestAudioFrame. We were starting more and more and not properly clearing the old ones. This caused the audio input to crackle more and more. Once we cleaned up the animations the audio problems went away.

Regarding iOS resolution support for cocos2d-JS v3 portrait mode

I have an assets made with 1920 * 1080 resolution , with the same resolution I want to support iOS how with the scaling factor without getting new assets. It is working properly in android but not in iOS
I was trying the multiresolution support provided by cocos2d-x but then Its not working properly,
Here what I was trying
cc.view.setDesignResolutionSize(1080,1920, cc.ResolutionPolicy.FIXED_HEIGHT);
Its showing very small view port at the top right corner and I am unable to understand why this is happening and how do I solve this.

iOs: Low frame per second(fps) for VGA resolution

I'm facing an issue in broadcasting video from one iPhone to another iPhone.
The issue is when I view the friend's live video in my iPhone, the frame per second(fps) is very low(it is 12fps). Video quality and audio is looking fine but the only problem is fps.
I don't know where I need to config/change the code to convert from variable fps to constant fps. Also to increase the fps as **24/30**.
The resolution I used for broadcasting
RESOLUTION_VGA, // 480x640px (landscape) & 640x480px (portrait)
I'm using following libraries for streaming
MediaLibiOS - link
Ffmpeg-2.2.1
CommLibiOS
libx264-r2409
Wowza is a Media Server and iOS target version is 7.0
Please help !
Thanks in advance.

Maximum video out resolution of iPad Mini?

I'm developing an iPad app that can employ an external monitor. When I plug my iPad 3 into my external monitor, I get back a list of resolutions from the external UIScreen object that includes 1920x1080.
When I do the same with my iPad mini, the max resolution I get back is 1600x900.
This would make me think the iPad mini doesn't support full HD external video, but the Apple specs say this:
Video mirroring and video out support: Up to 1080p through Lightning
Digital AV Adapter and Lightning to VGA Adapter (adapters sold
separately)
...which seems pretty unambiguous that it should support full HD.
Does anyone know what's going on here?
Thanks!
The iPad mini does not HAVE the resolution for 1080p (it has 1024x768 screen resolution while 1080p is 1920x1080 as you mentioned), hence, mirroring does not make sense.
Video playback, on the other hand, should work.
TV resolution can be set in Settings>General>TV Out.
The max resolution shown in that menu is your iPhone or iPad's screen resolution.

navigator.geolocation.watchPosition not working on Samsung Galaxy Xcover - GPS stays off

I have an application written in javascript, using Sencha Touch and Cordova libraries. It is a mobile application for Android devices.
I use navigator.geolocation.watchPosition() to get a GPS position. My code works on other phones that I have tested (HTC one X, LG optimus black, LG optimus 2X, HTC evo 3D and a few others), but not on Samsung Galaxy Xcover S5690.
The problem is that the GPS is never turned on on the Xcover, so that at best I only get a very inaccurate position (probably based on mobile towers). On other devices the GPS icon on the status bar starts blinking and eventually I get a very accurate position.
My manifest file is OK (ACCESS_FINE_LOCATION line), my plugins.xml is OK (cordova.GeoBroker line). The GPS just stays turned off.
I am using ST 2.0 and Cordova 2.0. I call navigator.geolocation.watchPosition() from my onDeviceReady() listener. And my code works on other phones and on Chrome browser.

Resources