TravelMonkey
TravelMonkey copied to clipboard
Android Live processing: You need to look like Travel Monkey in order to continue
Hi there,
For the android side I added a native camera2 implementation for live frame processing so I can do some fun stuff in the app. Processing is done before the picture is taken right during preview completely async.
I changed the Travel Monkey and the app will give you instructions on what to do during recording. You can only continue if you listen to the instructions that Travel Monkey gives you.
Problems I encountered -The FaceAPI force closes streams I still need afterwards (DetectWithStreamAsync) so I needed to copyasync in 2 places. -It's hard to get camera frames and get them into the Xamarin project. I think Xamarin could benefit from a generic camera implementation. Camera2 is also very finnicky with the height/width. -XAML for a fullscreen native renderer with a bottom bar is also finnicky -The "TakePhotoCommandValidation" command executed in an unexpected order. Almost seemed like a bug in the VS debugger. "PhotoSource =" on line 130 executes after line 134 "await Post()" which is really weird. Debugger.Break(); only triggers once confirming that only 1 thread entered the function. (file: FaceValidationViewModel.cs)
Here is the original repo: https://github.com/ymebrugts/monkey-xamarin-challenge