Xamarin-Custom Media Recorder
Budget: €12 – €18 EUR
Overview
To build a custom component for recording media on mobile devices that can be used by a Xamarin Forms application.
Goals
Record video
Take a picture
Specifications
We need to build a custom component that can be used by a Xamarin Forms application to record media and to take photos.
The component should work on both iOS and Android devices.
The metadata should be saved with the video.
The main features for recording Video are:
- Ability to set a path on the mobile device where the media will be stored.
- Video file should be mp4
- Ability to set the following properties for video recording:
- - iOS/Android:
- - - Quality of Video - Low, Medium, High
- - - Max Duration (in milliseconds)
- - Android:
- - - Video Encoding Bitrate
- - - Framerate
- - - Video Encoder
- - - Audio Encoder
- - - Size (resolution,e.g. 640x480)
- - When the detail properties are set, the Quality of video option is ignored.
- UI options:
- - Full screen camera surface
- - Buttons to Start/Stop recording
- - Play current recording
- - Retry (re-record)
- - OK (to return the filename of the video)
The main features of taking Photo are:
- Ability to set a path on the mobile device where the media will be stored.
- Image file should be jpg
- Photo size:
- - Small (25%),
- - Medium (50%)
- - Large (75%)
- - Full
- - Custom (between 1-100, only applies to iOS)
- Compression quality: (1-100, 100 being no compression)
The metadata should be saved with the image.
The Xamarin Essentials library's MediaPicker component doesn't allow the user to set the Video quality (for compression)
In the Media plugin library that we use, iOS has 3 Video quality settings, but Android only has 2 qualities - Low and High - We want something in-between.
To build a custom component for recording media on mobile devices that can be used by a Xamarin Forms application.
Goals
Record video
Take a picture
Specifications
We need to build a custom component that can be used by a Xamarin Forms application to record media and to take photos.
The component should work on both iOS and Android devices.
The metadata should be saved with the video.
The main features for recording Video are:
- Ability to set a path on the mobile device where the media will be stored.
- Video file should be mp4
- Ability to set the following properties for video recording:
- - iOS/Android:
- - - Quality of Video - Low, Medium, High
- - - Max Duration (in milliseconds)
- - Android:
- - - Video Encoding Bitrate
- - - Framerate
- - - Video Encoder
- - - Audio Encoder
- - - Size (resolution,e.g. 640x480)
- - When the detail properties are set, the Quality of video option is ignored.
- UI options:
- - Full screen camera surface
- - Buttons to Start/Stop recording
- - Play current recording
- - Retry (re-record)
- - OK (to return the filename of the video)
The main features of taking Photo are:
- Ability to set a path on the mobile device where the media will be stored.
- Image file should be jpg
- Photo size:
- - Small (25%),
- - Medium (50%)
- - Large (75%)
- - Full
- - Custom (between 1-100, only applies to iOS)
- Compression quality: (1-100, 100 being no compression)
The metadata should be saved with the image.
The Xamarin Essentials library's MediaPicker component doesn't allow the user to set the Video quality (for compression)
In the Media plugin library that we use, iOS has 3 Video quality settings, but Android only has 2 qualities - Low and High - We want something in-between.