cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
James_L
Regular Visitor

Camera.AvailableDevices not working with W10 App - Alternatives?

Hello, All;

 

I've discovered, and confirmed by working with Microsoft support, that the Camera.AvailableDevices property does not work when using the Windows 10 App.   Instead of returning a table containing the Id and Name information for the cameras available on the system it instead returns a collection of zero length.  

 

I have developed an app that we are using for employees, guests and visitors to check in, answer health questions, and take their picture.  My app uses the AvailableDevices property to collect camera information so that I can provide a button that will cycle through the available cameras on a device.  This allows those using the app on mobile devices to switch between front and rear-facing cameras, for example. 

 

The app works as expected when using a web browser or the mobile apps, but not when using the W10 App. 

 

One place this app runs is on a Surface tablet.   On this device, specifically, I'd rather use the W10 App instead of a web browser to run my application because using a web browser requires re-authentication every 8 hours and the W10 App does not.  This is run continuously and re-authentication is a burden.  Currently, I'm currently using one version of the app that runs on the Surface, hard-coded to use it's front-facing camera.  I have another version that users can use on their mobile devices where it's much more important that they can switch between available cameras before taking a picture.  Maintaining and updating two versions of the app is not ideal.  

 

This leads me to the point of this post.   Microsoft support stated that while this is a known bug there is no plan to address it any time soon.  They stated that there are some users relying on the W10 app returning this zero length collection (?!) and changing the behavior of the AvailableDevices property on the W10 app would be a breaking change.  This behavior might be changed in a major update to the W10 App but there is no timeline and no guarantee that this would even happen.  The only "workaround" they provided was to use Edge, or another browser, which, at least for my use case, is not ideal.  

 

Their only other suggestion was to post, here.  Perhaps there is someone out there with another idea?   Or maybe there are enough people frustrated with this not working that can respond here that Microsoft will see that there is, indeed, interest in fixing this bug?   

4 REPLIES 4
Pstork1
Most Valuable Professional
Most Valuable Professional

I did a little testing and here is what I found.

1) if you set the Camera property of the Camera control to point to a variable and change the value of the variable you can change the camera from front '0', to back '1'.

2) Additional USB cameras can change the numbering. Front '0', External '1', Back '2'.

2) The camera won't actually refresh until you go to another screen and come back 

3) You are correct that the availableDevices array is blank when in the Windows 10 App.

 

If would be nice to have access to the availableDevices to know how many cameras there are and which one is which.  But you can create a button that will switch between cameras, even in the Windows 10 client. I would implement the switch on a settings screen.  That way after you change the camera and exit the screen the control will update.

 

Not a perfect solution but it could work.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.
askondo
Community Support
Community Support

 

 

I am so sorry you are inconvenienced by the lack of features.
Perhaps the engineer has directed you to the following site
This site is for users to submit feature requests.
MS developers refer to it and consider adding features to it, such as features that have a lot of votes.
Please feel free to submit your feature requests.

 

<Power Apps Community > Ideas>

https://powerusers.microsoft.com/t5/Ideas/ct-p/PA_Comm_Ideas

 

 

 

 

@Pstork1 Thank you for the informed response!    I am, indeed, doing what you suggest - assigning the Camera property of the Camera control to a variable.  That variable is incremented by a button, up to the maximum number of devices (-1) returned by the AvailableDevices property, at which point it resets back to 0.  This works great when I get valid data from the AvailableDevices property.

 

When using the W10 App, where that property does not return valid data, I could test for AvailableDevices having a length of zero, and if so set my maximum number of devices to some arbitrary value.   However, how am I to know if this means there are no cameras on the device the app is being run on?   If that's the case, there are no available devices, then I want to present the user with an error screen stating that the app requires a camera.   This is the functionality I have implemented when I can query AvailableDevices.   

 

I did think about just setting a maximum device value of, say 5, and then letting the users cycle through whatever cameras are valid but that presents a pretty poor user experience with the app displaying the message "Your camera isn't set up, or you're already using it." as the Camera control will do when the Camera property is set to an invalid value.  I'd much rather the users not even reach a screen with the camera control if there is no valid camera available. 

 

An option that I came up with that I've not had time to fully implement yet is to cycle that variable through the values 0-5 and use Camera.OnStream to capture an image.  I believe I can test to see if an image was captured and, if so, know that the camera id is valid.  This is obviously a kludge but should work on the W10 App.   Perhaps I only implement this logic if the AvailableDevices property returns a zero length collection?    Is there any way to know the app is running on the Win10 App instead of another platform?   This would all be so much easier if the AvailableDevices property just worked! 

 

Anyway, thank you for your response.   I might have some time later to work on implementing my camera testing using .OnStream.  If so, I'll follow up here.

 

Thanks again,
James

Pstork1
Most Valuable Professional
Most Valuable Professional

Cycling through to grab an image may not work as well as you would think.  You'll also get distorted images from the IR camera and any camera recording apps you have loaded on the tablet.  You are probably better off just setting the max camera to ❤️ and letting the user change.  Its not optimal I agree, but I don't think there is currently a better workaround.



-------------------------------------------------------------------------
If I have answered your question, please mark your post as Solved.
If you like my response, please give it a Thumbs Up.

Helpful resources

Announcements

Celebrating the May Super User of the Month: Laurens Martens

  @LaurensM  is an exceptional contributor to the Power Platform Community. Super Users like Laurens inspire others through their example, encouragement, and active participation. We are excited to celebrated Laurens as our Super User of the Month for May 2024.   Consistent Engagement:  He consistently engages with the community by answering forum questions, sharing insights, and providing solutions. Laurens dedication helps other users find answers and overcome challenges.   Community Expertise: As a Super User, Laurens plays a crucial role in maintaining a knowledge sharing environment. Always ensuring a positive experience for everyone.   Leadership: He shares valuable insights on community growth, engagement, and future trends. Their contributions help shape the Power Platform Community.   Congratulations, Laurens Martens, for your outstanding work! Keep inspiring others and making a difference in the community!   Keep up the fantastic work!        

Check out the Copilot Studio Cookbook today!

We are excited to announce our new Copilot Cookbook Gallery in the Copilot Studio Community. We can't wait for you to share your expertise and your experience!    Join us for an amazing opportunity where you'll be one of the first to contribute to the Copilot Cookbook—your ultimate guide to mastering Microsoft Copilot. Whether you're seeking inspiration or grappling with a challenge while crafting apps, you probably already know that Copilot Cookbook is your reliable assistant, offering a wealth of tips and tricks at your fingertips--and we want you to add your expertise. What can you "cook" up?   Click this link to get started: https://aka.ms/CS_Copilot_Cookbook_Gallery   Don't miss out on this exclusive opportunity to be one of the first in the Community to share your app creation journey with Copilot. We'll be announcing a Cookbook Challenge very soon and want to make sure you one of the first "cooks" in the kitchen.   Don't miss your moment--start submitting in the Copilot Cookbook Gallery today!     Thank you,  Engagement Team

Announcing Power Apps Copilot Cookbook Gallery

We are excited to share that the all-new Copilot Cookbook Gallery for Power Apps is now available in the Power Apps Community, full of tips and tricks on how to best use Microsoft Copilot as you develop and create in Power Apps. The new Copilot Cookbook is your go-to resource when you need inspiration--or when you're stuck--and aren't sure how to best partner with Copilot while creating apps.   Whether you're looking for the best prompts or just want to know about responsible AI use, visit Copilot Cookbook for regular updates you can rely on--while also serving up some of your greatest tips and tricks for the Community. Check Out the new Copilot Cookbook for Power Apps today: Copilot Cookbook - Power Platform Community.  We can't wait to see what you "cook" up!      

Tuesday Tip | How to Report Spam in Our Community

It's time for another TUESDAY TIPS, your weekly connection with the most insightful tips and tricks that empower both newcomers and veterans in the Power Platform Community! Every Tuesday, we bring you a curated selection of the finest advice, distilled from the resources and tools in the Community. Whether you’re a seasoned member or just getting started, Tuesday Tips are the perfect compass guiding you across the dynamic landscape of the Power Platform Community.   As our community family expands each week, we revisit our essential tools, tips, and tricks to ensure you’re well-versed in the community’s pulse. Keep an eye on the News & Announcements for your weekly Tuesday Tips—you never know what you may learn!   Today's Tip: How to Report Spam in Our Community We strive to maintain a professional and helpful community, and part of that effort involves keeping our platform free of spam. If you encounter a post that you believe is spam, please follow these steps to report it: Locate the Post: Find the post in question within the community.Kebab Menu: Click on the "Kebab" menu | 3 Dots, on the top right of the post.Report Inappropriate Content: Select "Report Inappropriate Content" from the menu.Submit Report: Fill out any necessary details on the form and submit your report.   Our community team will review the report and take appropriate action to ensure our community remains a valuable resource for everyone.   Thank you for helping us keep the community clean and useful!

Community Roundup: A Look Back at Our Last 10 Tuesday Tips

As we continue to grow and learn together, it's important to reflect on the valuable insights we've shared. For today's #TuesdayTip, we're excited to take a moment to look back at the last 10 tips we've shared in case you missed any or want to revisit them. Thanks for your incredible support for this series--we're so glad it was able to help so many of you navigate your community experience!   Getting Started in the Community An overview of everything you need to know about navigating the community on one page!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Ranks and YOU Have you ever wondered how your fellow community members ascend the ranks within our community? We explain everything about ranks and how to achieve points so you can climb up in the rankings! Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Powering Up Your Community Profile Your Community User Profile is how the Community knows you--so it's essential that it works the way you need it to! From changing your username to updating contact information, this Knowledge Base Article is your best resource for powering up your profile. Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Community Blogs--A Great Place to Start There's so much you'll discover in the Community Blogs, and we hope you'll check them out today!  Community Links: ○ Power Apps ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Unlocking Community Achievements and Earning Badges Across the Communities, you'll see badges on users profile that recognize and reward their engagement and contributions. Check out some details on Community badges--and find out more in the detailed link at the end of the article! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio    Blogging in the Community Interested in blogging? Everything you need to know on writing blogs in our four communities! Get started blogging across the Power Platform communities today! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Subscriptions & Notifications We don't want you to miss a thing in the community! Read all about how to subscribe to sections of our forums and how to setup your notifications! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Getting Started with Private Messages & Macros Do you want to enhance your communication in the Community and streamline your interactions? One of the best ways to do this is to ensure you are using Private Messaging--and the ever-handy macros that are available to you as a Community member! Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Community User Groups Learn everything about being part of, starting, or leading a User Group in the Power Platform Community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Update Your Community Profile Today! Keep your community profile up to date which is essential for staying connected and engaged with the community. Community Links: ○ Power Apps  ○ Power Automate  ○ Power Pages  ○ Copilot Studio   Thank you for being an integral part of our journey.   Here's to many more Tuesday Tips as we pave the way for a brighter, more connected future! As always, watch the News & Announcements for the next set of tips, coming soon!

Hear what's next for the Power Up Program

Hear from Principal Program Manager, Dimpi Gandhi, to discover the latest enhancements to the Microsoft #PowerUpProgram, including a new accelerated video-based curriculum crafted with the expertise of Microsoft MVPs, Rory Neary and Charlie Phipps-Bennett. If you’d like to hear what’s coming next, click the link below to sign up today! https://aka.ms/PowerUp  

Top Solution Authors
Top Kudoed Authors
Users online (4,295)