This is what I need: The user wants to select a camera, specify the preview resolution and select a snapshot resolution, start video streaming and once he is happy with what he sees he will want to take a snapshot. It is likely that he will want to restart the streaming and try again until he has a snapshot he is happy with.
I want to encapsulate this functionality into a C# class library that is compatible with .NET Framework. The code that consumes this library will
• Be informed what cameras are available
• Provided with the available resolutions of the streaming video
• Provided with the available resolutions of the image capture
• Have a means it can tell the library what streaming video profile/resolution to use
• Have a means it can tell the library what snapshot/image capture resolution to use
• Can tell the library to start streaming at the selected video resolution
• Can tell the library to stop streaming and take a snapshot at the selected camera resolution
The video code itself needs to leverage UWP’s MediaCapture technology. However, the library has to work with existing .NET Framework WPF/MVVM/Prism/Unity applications so it will need to use WindowsXamlHost.
There's nothing particularly difficult in any of this. It should be a quick and easy project for a programmer with experience in MediaCapture and how to use UWP controls in a Framework application.