9

Dual-camera smartphones are relatively new in the market, but I was wondering if a camera app could explicitly choose to use only one lens, or to manually retrieve separate input from each lens.

I couldn't find any Android API documentation that is specifically designed for dual-lens phones, so I guess this is a hardware/OS-level implementation that would be difficult to override or bypass. Android's Camera HAL documentation page doesn't mention dual-lens devices as well, but it does seem to strengthen that assumption. I don't have much experience with iOS, but I guess it wouldn't be easier.

So the question is - how, if at all, would such task be possible on either Android or iOS?

Edit: seems that in iOS it is possible, as explained here (thanks to the4kman for pointing this out in the comments). So I guess the question remains for Android only.

Yoav Feuerstein
  • 1,925
  • 2
  • 22
  • 53
  • 1
    In iOS, the camera uses only one lens by default (that is, if you are not using portrait mode). – Tamás Sengel Sep 13 '17 at 15:31
  • @the4kman wasn't aware of that, thanks for the info! But still, can the user or the app choose which lens to use? Let's say, in case one of them got broken or scratched. Also, what about third-party apps which access the camera? – Yoav Feuerstein Sep 13 '17 at 15:32
  • 2
    Yes, but keep in mind that the two lens have different zooming levels. Read more about this [here](https://stackoverflow.com/questions/39385103/iphone-7-plus-avfoundation-dual-camera). – Tamás Sengel Sep 13 '17 at 15:34
  • @the4kman Thanks once again! Edited the post to reflect this new information :) – Yoav Feuerstein Sep 13 '17 at 15:45

1 Answers1

3

Different vendors provide dual cameras for their Android devices in hope to improve the photo quality for average user, more often than not, specifically tuned for special conditions like challenging illumination or distortions of selfie mode. Each vendor uses proprietary technologies to handle dual cameras, and they are not interested to disclose the implementation details. The only public interface they support is a virtual single camera which is more or less compliant with Google specs.

This does not mean that you cannot be lucky chance be able to unlock the camera for some specific device. Playing with photo modes, or scenes, or other parameters, may accidentally give you a picture that only passed one lens of the dual setup.

In some rare cases some documentation is actually present. E.g. HTC let you control stereo vs. mono setting for the circa'2011 Evo 3D device.

Another example: this review implies that for Huawei P9 and P10, you will actually get one-camera result if you choose monochrome mode.

A recent article gives some perspective how different are approaches to dual camera among different manufacturers.

Alex Cohn
  • 56,089
  • 9
  • 113
  • 307
  • Just noticed the edited post with links, thanks! I still wonder if no one ever tried to reverse or replace those hardware/device-specific drivers, and see what they could do with that. Also, the last two words in your post seems unrelated :) – Yoav Feuerstein Sep 17 '17 at 10:38
  • 2
    Update: in Android Pie, [REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA](https://developer.android.com/about/versions/pie/android-9.0#camera) has been added. On some devices, this will let you access physical cameras separately. – Alex Cohn Oct 09 '18 at 16:19
  • 1
    @AlexCohn I'm not sure but it seem like the vendor still not provide correct data for their device even they update it to android P. Nokia 7 plus seem not expose that capability even though it has zeiss dual back camera – Thaina Yu Oct 10 '18 at 01:12
  • 2
    @Thaina that's true.The new capabilities are not enforced, and it will take a long time for this feature to get reasonable market share. That's why I chose to add a comment, not update the answer. – Alex Cohn Oct 10 '18 at 06:15
  • @AlexCohn Thanks for the update, I noticed that too - but couldn't find any documentation or example by Google about how to use that exactly? – Yoav Feuerstein Oct 11 '18 at 11:59
  • Yoav, let's be patient. I belive such examples will appear when devices with this capability become available. – Alex Cohn Oct 11 '18 at 12:22