cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
BollGary
Helper I
Helper I

Slowness of camera control configurated

I made one APP, and used the camera control, everything is fine, but I found it is very slow when opening the camera control, which need spend much time to wait the camera configurated on device.

And on the other hand, I also found if firstly navigate the screen of taking photos, 3~4 seconds can correctly configurate the camera and then can take photos, but when we close this screen, then navigate it again, issues occurred, which need too much time to wait camera control ready, sometimes, which need 1minutes.

I don't know why? Please share some knowledge.

The function is by clicking the camera icon to navigate to new screen to take photos, but need to wait so long time to make camera ready, once the camera is ready, click it and save photos is fine, no any problems.

BollGary_0-1645066644121.png

BollGary_1-1645066709848.png

 

 

10 REPLIES 10
BollGary
Helper I
Helper I

I also found one interesting thing, if I click the on/off button on my Phone(Android) , it locks the screen and then wakes it up, the camera control immediately enabled. I doubt this issue cause from the phone, and I also try in PC, no this issue, but for mobile phone, it is existing, I also use my colleagues' phone, same problem.

I tried to set one global variable to enable camera control true or false, can't fix this issue. So I have to click the on/off button on my phone again and again.

svankemenade
Frequent Visitor

Hi,

I'm experiencing the same on a Microsoft Surface Pro 8. The app works perfectly fine on an HP Zbook. Please let me know if you've resolved the issue.

Thanks in advance!

Kind regards,

Sebastiaan

 

Actually, not yet, I found this issue should be caused from the different camera configuration in different devices, especially for the devices which include multiple cameras, some devices without any issue, but some devices may have. Currently, I used very stupid method to solve this issue. I add one toggle button to switch the camera by manual as below shown, if users' device with this issue, he/she can enter twice this boggle button to switch the camera value from 0 to 1(face back camera to face front camera), then back 1 to 0. This is very stupid solution, but very useful, at least makes the camera work.

BollGary_0-1646701906963.png

 

By the way, I have tried use programming to simulate this step to switch the camera property, but it can't work, I don't know why must by manual.

Thanks for your reply! So if I understand you correctly the camera control loads very slow (especially when a device has multiple camera's), but once you add a toggle to turn the camera off and on again it loads fast?

Actually, this is switch the cameras, yes, it loads very very fast, I don't know how to turn off the camera control, it is not helpful if disable the camera control and then restore it,  I have tried this, and use programming to switch cameras also not useful. Very interesting issue, if you have found better solutions, please also share to me. I have ever tried so many times and also wish to get the answers.

Check, in my app it takes ages to even load the camera list so I don't think we're experiencing the same here. Switching the cameras doesn't solve the problem on my part either. 

Heathbar
New Member

I was able to get a workaround to help temporarily resolve this issue... especially if you don't want a user to have to select the camera that is being used.

 

I added the following controls and set the following properties as follows:

 

Screen1:

  • OnVisible:

UpdateContext({varLoading: true});

Reset(Dropdown1);

Set(selectedCam, LookUp(Camera1.AvailableDevices, Id = 2).Name);

 

Timer1:

  • Duration: 2000
  • OnTimerEnd:

//These ID numbers will be set to which camera ID number you want to use

//This is set to the Rear-facing camera on a Samsung Galaxy XCover Pro

If(!IsBlank(selectedCam),

    Set(selectedCam, LookUp(Camera1.AvailableDevices, Id = 3).Name);,

 

    Set(selectedCam, LookUp(Camera1.AvailableDevices, Id = 2).Name);

);

 

If(Dropdown1.Selected.ID= 3, UpdateContext({varLoading: false}););

  • Start: true
  • Repeat: IsBlank(selectedCam)
  • AutoStart: true
  • Visible: false

 

Dropdown1:

  • Items: Camera1.AvailableDevices
  • Default: selectedCam
  • Visible: false

 

Camera1:

  • Camera: Dropdown1.Selected.ID

I also created a custom component that covers the entire screen in a rectangle with the properties below:

  • Fill: RGBA(0,0,0,.75)

And a loading spinner gif to the custom component as well.

 

I then added this custom component to the screen when the camera is loading, and set the Visible property of it to be varLoading which was set in the OnVisible of Screen1 and the OnTimerEnd of Timer1.

sketchdelite
Regular Visitor

I might give @Heathbar 's idea a go in a couple of days time, sounds promising, otherwise the camera control has been of slight frustration for some of my users too.

Update (16/08): The below didn't end up working :<

From what I've seen, on devices where it's not consistent, the camera control will work on the first time you open the 'camera screen', but if you navigate away from that screen and then head back, it doesn't want to work again. I've tried making the Camera property of the camera control dynamic, using timers etc... but it doesn't seem to work.

There is one small trick though, at least from what I've tried. If you add a camera control to every screen (1 width and 1 height, for screens where you don't actually need to use it) such that it covers all screens the users will navigate to, then the camera control functionality doesn't break.
You can test this idea by leaving some screens without the 1x1 camera, navigate to them, and then watch the camera control break on the screen(s) you intended to use them on.
Obviously some pros and cons to weigh up here, and I don't know what this means in terms of memory, loading times etc... by having a control on every screen, so take caution if you try this.

Helpful resources

Announcements
Microsoft 365 Conference – December 6-8, 2022

Microsoft 365 Conference – December 6-8, 2022

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Difinity Conference 2022

Difinity Conference 2022

Register today for two amazing days of learning, featuring intensive learning sessions across multiple tracks, led by engaging and dynamic experts.

European SharePoint Conference

European SharePoint Conference

The European SharePoint Conference returns live and in-person November 28-December 1 with 4 Microsoft Keynotes, 9 Tutorials, and 120 Sessions.

Power Apps Ideas

Changes to Ideas Coming

We are excited to announce a new way to share your ideas for Power Apps!

Top Solution Authors
Top Kudoed Authors
Users online (3,589)