I need some help with the MediaRecorder
class on Android.
I try to use getSupportedVideoSizes
to get the list of supported video sizes, but it always returns null.
In testing, the following devices return null
when getSupportedVideoSizes
is queried:
The documentation for Camera.getSupportedVideoSizes()
which reads,
Returns
a list of Size object if camera has separate preview and video output; otherwise, null is returned.
is not entirely clear. However, it means that if Camera.getSupportedVideoSizes()
returns null, then the camera's supported preview sizes and video sizes are the same; in this case, to get the list of supported video sizes, use Camera.getSupportedPreviewSizes()
.
Sample code:
public List<Size> getSupportedVideoSizes(Camera camera) {
if (camera.getParameters().getSupportedVideoSizes() != null) {
return camera.getParameters().getSupportedVideoSizes();
} else {
// Video sizes may be null, which indicates that all the supported
// preview sizes are supported for video recording.
return camera.getParameters().getSupportedPreviewSizes();
}
}
Or just use
mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));
to set the best resolution automatically.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With