CamcorderProfile
public
class
CamcorderProfile
extends Object
java.lang.Object | |
↳ | android.media.CamcorderProfile |
Retrieves the predefined camcorder profile settings for camcorder applications. These settings are read-only.
The compressed output from a recording session with a given CamcorderProfile contains two tracks: one for audio and one for video.
Each profile specifies the following set of parameters:
- The file output format
- Video codec format
- Video bit rate in bits per second
- Video frame rate in frames per second
- Video frame width and height,
- Audio codec format
- Audio bit rate in bits per second,
- Audio sample rate
- Number of audio channels for recording.
Summary
Constants | |
---|---|
int |
QUALITY_1080P
Quality level corresponding to the 1080p (1920 x 1080) resolution. |
int |
QUALITY_2160P
Quality level corresponding to the 2160p (3840x2160) resolution. |
int |
QUALITY_2K
Quality level corresponding to 2K (2048 x 1080) resolution |
int |
QUALITY_480P
Quality level corresponding to the 480p (720 x 480) resolution. |
int |
QUALITY_4KDCI
Quality level corresponding to 4k-DCI (4096 x 2160) resolution. |
int |
QUALITY_720P
Quality level corresponding to the 720p (1280 x 720) resolution. |
int |
QUALITY_8KUHD
Quality level corresponding to 8K UHD (7680 x 4320) resolution |
int |
QUALITY_CIF
Quality level corresponding to the cif (352 x 288) resolution. |
int |
QUALITY_HIGH
Quality level corresponding to the highest available resolution. |
int |
QUALITY_HIGH_SPEED_1080P
High speed ( >= 100fps) quality level corresponding to the 1080p (1920 x 1080 or 1920x1088) resolution. |
int |
QUALITY_HIGH_SPEED_2160P
High speed ( >= 100fps) quality level corresponding to the 2160p (3840 x 2160) resolution. |
int |
QUALITY_HIGH_SPEED_480P
High speed ( >= 100fps) quality level corresponding to the 480p (720 x 480) resolution. |
int |
QUALITY_HIGH_SPEED_4KDCI
High speed ( >= 100fps) quality level corresponding to the 4K-DCI (4096 x 2160) |
int |
QUALITY_HIGH_SPEED_720P
High speed ( >= 100fps) quality level corresponding to the 720p (1280 x 720) resolution. |
int |
QUALITY_HIGH_SPEED_CIF
High speed ( >= 100fps) quality level corresponding to the CIF (352 x 288) |
int |
QUALITY_HIGH_SPEED_HIGH
High speed ( >= 100fps) quality level corresponding to the highest available resolution. |
int |
QUALITY_HIGH_SPEED_LOW
High speed ( >= 100fps) quality level corresponding to the lowest available resolution. |
int |
QUALITY_HIGH_SPEED_VGA
High speed ( >= 100fps) quality level corresponding to the VGA (640 x 480) |
int |
QUALITY_LOW
Quality level corresponding to the lowest available resolution. |
int |
QUALITY_QCIF
Quality level corresponding to the qcif (176 x 144) resolution. |
int |
QUALITY_QHD
Quality level corresponding to QHD (2560 x 1440) resolution |
int |
QUALITY_QVGA
Quality level corresponding to the QVGA (320x240) resolution. |
int |
QUALITY_TIME_LAPSE_1080P
Time lapse quality level corresponding to the 1080p (1920 x 1088) resolution. |
int |
QUALITY_TIME_LAPSE_2160P
Time lapse quality level corresponding to the 2160p (3840 x 2160) resolution. |
int |
QUALITY_TIME_LAPSE_2K
Time lapse quality level corresponding to the 2K (2048 x 1080) resolution. |
int |
QUALITY_TIME_LAPSE_480P
Time lapse quality level corresponding to the 480p (720 x 480) resolution. |
int |
QUALITY_TIME_LAPSE_4KDCI
Time lapse quality level corresponding to the 4k-DCI (4096 x 2160) resolution. |
int |
QUALITY_TIME_LAPSE_720P
Time lapse quality level corresponding to the 720p (1280 x 720) resolution. |
int |
QUALITY_TIME_LAPSE_8KUHD
Time lapse quality level corresponding to the 8K UHD (7680 x 4320) resolution. |
int |
QUALITY_TIME_LAPSE_CIF
Time lapse quality level corresponding to the cif (352 x 288) resolution. |
int |
QUALITY_TIME_LAPSE_HIGH
Time lapse quality level corresponding to the highest available resolution. |
int |
QUALITY_TIME_LAPSE_LOW
Time lapse quality level corresponding to the lowest available resolution. |
int |
QUALITY_TIME_LAPSE_QCIF
Time lapse quality level corresponding to the qcif (176 x 144) resolution. |
int |
QUALITY_TIME_LAPSE_QHD
Time lapse quality level corresponding to the QHD (2560 x 1440) resolution. |
int |
QUALITY_TIME_LAPSE_QVGA
Time lapse quality level corresponding to the QVGA (320 x 240) resolution. |
int |
QUALITY_TIME_LAPSE_VGA
Time lapse quality level corresponding to the VGA (640 x 480) resolution. |
int |
QUALITY_VGA
Quality level corresponding to the VGA (640 x 480) resolution. |
Fields | |
---|---|
public
int |
audioBitRate
The target audio output bit rate in bits per second |
public
int |
audioChannels
The number of audio channels used for the audio track |
public
int |
audioCodec
The audio encoder being used for the audio track. |
public
int |
audioSampleRate
The audio sampling rate used for the audio track |
public
int |
duration
Default recording duration in seconds before the session is terminated. |
public
int |
fileFormat
The file output format of the camcorder profile |
public
int |
quality
The quality level of the camcorder profile |
public
int |
videoBitRate
The target video output bit rate in bits per second
This is the target recorded video output bit rate if the application configures the video
recording via |
public
int |
videoCodec
The video encoder being used for the video track |
public
int |
videoFrameHeight
The target video frame height in pixels |
public
int |
videoFrameRate
The target video frame rate in frames per second. |
public
int |
videoFrameWidth
The target video frame width in pixels |
Public methods | |
---|---|
static
CamcorderProfile
|
get(int quality)
This method was deprecated
in API level 31.
Use |
static
CamcorderProfile
|
get(int cameraId, int quality)
This method was deprecated
in API level 31.
Use |
static
EncoderProfiles
|
getAll(String cameraId, int quality)
Returns all encoder profiles of a camcorder profile for the given camera at the given quality level. |
static
boolean
|
hasProfile(int cameraId, int quality)
Returns true if a camcorder profile exists for the given camera at the given quality level. |
static
boolean
|
hasProfile(int quality)
Returns true if a camcorder profile exists for the first back-facing camera at the given quality level. |
Inherited methods | |
---|---|
Constants
QUALITY_1080P
public static final int QUALITY_1080P
Quality level corresponding to the 1080p (1920 x 1080) resolution. Note that the vertical resolution for 1080p can also be 1088, instead of 1080 (used by some vendors to avoid cropping during video playback).
Constant Value: 6 (0x00000006)
QUALITY_2160P
public static final int QUALITY_2160P
Quality level corresponding to the 2160p (3840x2160) resolution.
Constant Value: 8 (0x00000008)
QUALITY_2K
public static final int QUALITY_2K
Quality level corresponding to 2K (2048 x 1080) resolution
Constant Value: 12 (0x0000000c)
QUALITY_480P
public static final int QUALITY_480P
Quality level corresponding to the 480p (720 x 480) resolution. Note that the horizontal resolution for 480p can also be other values, such as 640 or 704, instead of 720.
Constant Value: 4 (0x00000004)
QUALITY_4KDCI
public static final int QUALITY_4KDCI
Quality level corresponding to 4k-DCI (4096 x 2160) resolution.
Constant Value: 10 (0x0000000a)
QUALITY_720P
public static final int QUALITY_720P
Quality level corresponding to the 720p (1280 x 720) resolution.
Constant Value: 5 (0x00000005)
QUALITY_8KUHD
public static final int QUALITY_8KUHD
Quality level corresponding to 8K UHD (7680 x 4320) resolution
Constant Value: 13 (0x0000000d)
QUALITY_CIF
public static final int QUALITY_CIF
Quality level corresponding to the cif (352 x 288) resolution.
Constant Value: 3 (0x00000003)
QUALITY_HIGH
public static final int QUALITY_HIGH
Quality level corresponding to the highest available resolution.
Constant Value: 1 (0x00000001)
QUALITY_HIGH_SPEED_1080P
public static final int QUALITY_HIGH_SPEED_1080P
High speed ( >= 100fps) quality level corresponding to the 1080p (1920 x 1080 or 1920x1088) resolution.
Constant Value: 2004 (0x000007d4)
QUALITY_HIGH_SPEED_2160P
public static final int QUALITY_HIGH_SPEED_2160P
High speed ( >= 100fps) quality level corresponding to the 2160p (3840 x 2160) resolution.
Constant Value: 2005 (0x000007d5)
QUALITY_HIGH_SPEED_480P
public static final int QUALITY_HIGH_SPEED_480P
High speed ( >= 100fps) quality level corresponding to the 480p (720 x 480) resolution. Note that the horizontal resolution for 480p can also be other values, such as 640 or 704, instead of 720.
Constant Value: 2002 (0x000007d2)
QUALITY_HIGH_SPEED_4KDCI
public static final int QUALITY_HIGH_SPEED_4KDCI
High speed ( >= 100fps) quality level corresponding to the 4K-DCI (4096 x 2160)
Constant Value: 2008 (0x000007d8)
QUALITY_HIGH_SPEED_720P
public static final int QUALITY_HIGH_SPEED_720P
High speed ( >= 100fps) quality level corresponding to the 720p (1280 x 720) resolution.
Constant Value: 2003 (0x000007d3)
QUALITY_HIGH_SPEED_CIF
public static final int QUALITY_HIGH_SPEED_CIF
High speed ( >= 100fps) quality level corresponding to the CIF (352 x 288)
Constant Value: 2006 (0x000007d6)
QUALITY_HIGH_SPEED_HIGH
public static final int QUALITY_HIGH_SPEED_HIGH
High speed ( >= 100fps) quality level corresponding to the highest available resolution.
Constant Value: 2001 (0x000007d1)
QUALITY_HIGH_SPEED_LOW
public static final int QUALITY_HIGH_SPEED_LOW
High speed ( >= 100fps) quality level corresponding to the lowest available resolution.
For all the high speed profiles defined below ((from QUALITY_HIGH_SPEED_LOW
to
QUALITY_HIGH_SPEED_2160P
), they are similar as normal recording profiles, with just
higher output frame rate and bit rate. Therefore, setting these profiles with
MediaRecorder#setProfile
without specifying any other encoding parameters will
produce high speed videos rather than slow motion videos that have different capture and
output (playback) frame rates. To record slow motion videos, the application must set video
output (playback) frame rate and bit rate appropriately via
MediaRecorder#setVideoFrameRate
and MediaRecorder#setVideoEncodingBitRate
based on the slow motion factor. If the application intends to do the video recording with
MediaCodec
encoder, it must set each individual field of MediaFormat
similarly according to this CamcorderProfile.
Constant Value: 2000 (0x000007d0)
QUALITY_HIGH_SPEED_VGA
public static final int QUALITY_HIGH_SPEED_VGA
High speed ( >= 100fps) quality level corresponding to the VGA (640 x 480)
Constant Value: 2007 (0x000007d7)
QUALITY_LOW
public static final int QUALITY_LOW
Quality level corresponding to the lowest available resolution.
Constant Value: 0 (0x00000000)
QUALITY_QCIF
public static final int QUALITY_QCIF
Quality level corresponding to the qcif (176 x 144) resolution.
Constant Value: 2 (0x00000002)
QUALITY_QHD
public static final int QUALITY_QHD
Quality level corresponding to QHD (2560 x 1440) resolution
Constant Value: 11 (0x0000000b)
QUALITY_QVGA
public static final int QUALITY_QVGA
Quality level corresponding to the QVGA (320x240) resolution.
Constant Value: 7 (0x00000007)
QUALITY_TIME_LAPSE_1080P
public static final int QUALITY_TIME_LAPSE_1080P
Time lapse quality level corresponding to the 1080p (1920 x 1088) resolution.
Constant Value: 1006 (0x000003ee)
QUALITY_TIME_LAPSE_2160P
public static final int QUALITY_TIME_LAPSE_2160P
Time lapse quality level corresponding to the 2160p (3840 x 2160) resolution.
Constant Value: 1008 (0x000003f0)
QUALITY_TIME_LAPSE_2K
public static final int QUALITY_TIME_LAPSE_2K
Time lapse quality level corresponding to the 2K (2048 x 1080) resolution.
Constant Value: 1012 (0x000003f4)
QUALITY_TIME_LAPSE_480P
public static final int QUALITY_TIME_LAPSE_480P
Time lapse quality level corresponding to the 480p (720 x 480) resolution.
Constant Value: 1004 (0x000003ec)
QUALITY_TIME_LAPSE_4KDCI
public static final int QUALITY_TIME_LAPSE_4KDCI
Time lapse quality level corresponding to the 4k-DCI (4096 x 2160) resolution.
Constant Value: 1010 (0x000003f2)
QUALITY_TIME_LAPSE_720P
public static final int QUALITY_TIME_LAPSE_720P
Time lapse quality level corresponding to the 720p (1280 x 720) resolution.
Constant Value: 1005 (0x000003ed)
QUALITY_TIME_LAPSE_8KUHD
public static final int QUALITY_TIME_LAPSE_8KUHD
Time lapse quality level corresponding to the 8K UHD (7680 x 4320) resolution.
Constant Value: 1013 (0x000003f5)
QUALITY_TIME_LAPSE_CIF
public static final int QUALITY_TIME_LAPSE_CIF
Time lapse quality level corresponding to the cif (352 x 288) resolution.
Constant Value: 1003 (0x000003eb)
QUALITY_TIME_LAPSE_HIGH
public static final int QUALITY_TIME_LAPSE_HIGH
Time lapse quality level corresponding to the highest available resolution.
Constant Value: 1001 (0x000003e9)
QUALITY_TIME_LAPSE_LOW
public static final int QUALITY_TIME_LAPSE_LOW
Time lapse quality level corresponding to the lowest available resolution.
Constant Value: 1000 (0x000003e8)
QUALITY_TIME_LAPSE_QCIF
public static final int QUALITY_TIME_LAPSE_QCIF
Time lapse quality level corresponding to the qcif (176 x 144) resolution.
Constant Value: 1002 (0x000003ea)
QUALITY_TIME_LAPSE_QHD
public static final int QUALITY_TIME_LAPSE_QHD
Time lapse quality level corresponding to the QHD (2560 x 1440) resolution.
Constant Value: 1011 (0x000003f3)
QUALITY_TIME_LAPSE_QVGA
public static final int QUALITY_TIME_LAPSE_QVGA
Time lapse quality level corresponding to the QVGA (320 x 240) resolution.
Constant Value: 1007 (0x000003ef)
QUALITY_TIME_LAPSE_VGA
public static final int QUALITY_TIME_LAPSE_VGA
Time lapse quality level corresponding to the VGA (640 x 480) resolution.
Constant Value: 1009 (0x000003f1)
QUALITY_VGA
public static final int QUALITY_VGA
Quality level corresponding to the VGA (640 x 480) resolution.
Constant Value: 9 (0x00000009)
Fields
audioBitRate
public int audioBitRate
The target audio output bit rate in bits per second
audioChannels
public int audioChannels
The number of audio channels used for the audio track
audioCodec
public int audioCodec
The audio encoder being used for the audio track.
See also:
audioSampleRate
public int audioSampleRate
The audio sampling rate used for the audio track
duration
public int duration
Default recording duration in seconds before the session is terminated. This is useful for applications like MMS has limited file size requirement.
fileFormat
public int fileFormat
The file output format of the camcorder profile
See also:
videoBitRate
public int videoBitRate
The target video output bit rate in bits per second
This is the target recorded video output bit rate if the application configures the video
recording via MediaRecorder#setProfile
without specifying any other
MediaRecorder
encoding parameters. For example, for high speed quality profiles (from
QUALITY_HIGH_SPEED_LOW
to QUALITY_HIGH_SPEED_2160P
), this is the bit rate
where the video is recorded with. If the application intends to record slow motion videos
with the high speed quality profiles, it must set a different video bit rate that is
corresponding to the desired recording output bit rate (i.e., the encoded video bit rate
during normal playback) via MediaRecorder#setVideoEncodingBitRate
. For example, if
QUALITY_HIGH_SPEED_720P
advertises 240fps videoFrameRate
and 64Mbps
videoBitRate
in the high speed CamcorderProfile, and the application intends to
record 1/8 factor slow motion recording videos, the application must set 30fps via
MediaRecorder#setVideoFrameRate
and 8Mbps ( videoBitRate
* slow motion
factor) via MediaRecorder#setVideoEncodingBitRate
. Failing to do so will result in
videos with unexpected frame rate and bit rate, or MediaRecorder
error if the output
bit rate exceeds the encoder limit. If the application intends to do the video recording with
MediaCodec
encoder, it must set each individual field of MediaFormat
similarly according to this CamcorderProfile.
videoCodec
public int videoCodec
The video encoder being used for the video track
See also:
videoFrameHeight
public int videoFrameHeight
The target video frame height in pixels
videoFrameRate
public int videoFrameRate
The target video frame rate in frames per second.
This is the target recorded video output frame rate per second if the application configures
the video recording via MediaRecorder#setProfile
without specifying any other
MediaRecorder
encoding parameters. For example, for high speed quality profiles (from
QUALITY_HIGH_SPEED_LOW
to QUALITY_HIGH_SPEED_2160P
), this is the frame rate
where the video is recorded and played back with. If the application intends to create slow
motion use case with the high speed quality profiles, it must set a different video frame
rate that is corresponding to the desired output (playback) frame rate via
MediaRecorder#setVideoFrameRate
. For example, if QUALITY_HIGH_SPEED_720P
advertises 240fps videoFrameRate
in the CamcorderProfile, and the application
intends to create 1/8 factor slow motion recording videos, the application must set 30fps via
MediaRecorder#setVideoFrameRate
. Failing to do so will result in high speed videos
with normal speed playback frame rate (240fps for above example). If the application intends
to do the video recording with MediaCodec
encoder, it must set each individual field
of MediaFormat
similarly according to this CamcorderProfile.
videoFrameWidth
public int videoFrameWidth
The target video frame width in pixels
Public methods
get
public static CamcorderProfile get (int quality)
This method was deprecated
in API level 31.
Use getAll(String, int)
instead
Returns the default camcorder profile at the given quality level for the first back-facing camera on the device. If the device has no back-facing camera, this returns null.
Parameters | |
---|---|
quality |
int : the target quality level for the camcorder profile |
Returns | |
---|---|
CamcorderProfile |
See also:
get
public static CamcorderProfile get (int cameraId, int quality)
This method was deprecated
in API level 31.
Use getAll(String, int)
instead
Returns the default camcorder profile for the given camera at the given quality level.
Quality levels QUALITY_LOW, QUALITY_HIGH are guaranteed to be supported, while
other levels may or may not be supported. The supported levels can be checked using
hasProfile(int, int)
.
QUALITY_LOW refers to the lowest quality available, while QUALITY_HIGH refers to
the highest quality available.
QUALITY_LOW/QUALITY_HIGH have to match one of qcif, cif, 480p, 720p, 1080p or 2160p.
E.g. if the device supports 480p, 720p, 1080p and 2160p, then low is 480p and high is
2160p.
The same is true for time lapse quality levels, i.e. QUALITY_TIME_LAPSE_LOW,
QUALITY_TIME_LAPSE_HIGH are guaranteed to be supported and have to match one of
qcif, cif, 480p, 720p, 1080p, or 2160p.
For high speed quality levels, they may or may not be supported. If a subset of the levels
are supported, QUALITY_HIGH_SPEED_LOW and QUALITY_HIGH_SPEED_HIGH are guaranteed to be
supported and have to match one of 480p, 720p, or 1080p.
A camcorder recording session with higher quality level usually has higher output
bit rate, better video and/or audio recording quality, larger video frame
resolution and higher audio sampling rate, etc, than those with lower quality
level.
Parameters | |
---|---|
cameraId |
int : the id for the camera. Integer camera ids parsed from the list received by
invoking CameraManager#getCameraIdList can be used as long as they
are CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
and not
EXTERNAL . |
quality |
int : the target quality level for the camcorder profile. |
Returns | |
---|---|
CamcorderProfile |
Throws | |
---|---|
IllegalArgumentException |
if quality is not one of the defined QUALITY_ values. |
See also:
QUALITY_LOW
QUALITY_HIGH
QUALITY_QCIF
QUALITY_CIF
QUALITY_480P
QUALITY_720P
QUALITY_1080P
QUALITY_2160P
QUALITY_TIME_LAPSE_LOW
QUALITY_TIME_LAPSE_HIGH
QUALITY_TIME_LAPSE_QCIF
QUALITY_TIME_LAPSE_CIF
QUALITY_TIME_LAPSE_480P
QUALITY_TIME_LAPSE_720P
QUALITY_TIME_LAPSE_1080P
QUALITY_TIME_LAPSE_2160P
QUALITY_HIGH_SPEED_LOW
QUALITY_HIGH_SPEED_HIGH
QUALITY_HIGH_SPEED_480P
QUALITY_HIGH_SPEED_720P
QUALITY_HIGH_SPEED_1080P
QUALITY_HIGH_SPEED_2160P
getAll
public static EncoderProfiles getAll (String cameraId, int quality)
Returns all encoder profiles of a camcorder profile for the given camera at the given quality level.
Quality levels QUALITY_LOW, QUALITY_HIGH are guaranteed to be supported, while
other levels may or may not be supported. The supported levels can be checked using
hasProfile(int, int)
.
QUALITY_LOW refers to the lowest quality available, while QUALITY_HIGH refers to
the highest quality available.
QUALITY_LOW/QUALITY_HIGH have to match one of qcif, cif, 480p, 720p, 1080p or 2160p.
E.g. if the device supports 480p, 720p, 1080p and 2160p, then low is 480p and high is
2160p.
The same is true for time lapse quality levels, i.e. QUALITY_TIME_LAPSE_LOW, QUALITY_TIME_LAPSE_HIGH are guaranteed to be supported and have to match one of qcif, cif, 480p, 720p, 1080p, or 2160p.
For high speed quality levels, they may or may not be supported. If a subset of the levels are supported, QUALITY_HIGH_SPEED_LOW and QUALITY_HIGH_SPEED_HIGH are guaranteed to be supported and have to match one of 480p, 720p, or 1080p.
A camcorder recording session with higher quality level usually has higher output bit rate, better video and/or audio recording quality, larger video frame resolution and higher audio sampling rate, etc, than those with lower quality level.
Note: as of Android TIRAMISU
,
this method can return advanced encoder profiles.
Apps targeting Build.VERSION_CODES#S_V2
or before will only receive basic
video encoder profiles that use output YUV 4:2:0 8-bit content.
Apps targeting Build.VERSION_CODES#TIRAMISU
or above will also receive advanced
video encoder profiles that may output 10-bit, YUV 4:2:2/4:4:4 or HDR content.
Returns | |
---|---|
EncoderProfiles |
null if there are no encoder profiles defined for the quality level for the given camera. |
Throws | |
---|---|
IllegalArgumentException |
if quality is not one of the defined QUALITY_ values. |
See also:
QUALITY_LOW
QUALITY_HIGH
QUALITY_QCIF
QUALITY_CIF
QUALITY_480P
QUALITY_720P
QUALITY_1080P
QUALITY_2160P
QUALITY_TIME_LAPSE_LOW
QUALITY_TIME_LAPSE_HIGH
QUALITY_TIME_LAPSE_QCIF
QUALITY_TIME_LAPSE_CIF
QUALITY_TIME_LAPSE_480P
QUALITY_TIME_LAPSE_720P
QUALITY_TIME_LAPSE_1080P
QUALITY_TIME_LAPSE_2160P
QUALITY_HIGH_SPEED_LOW
QUALITY_HIGH_SPEED_HIGH
QUALITY_HIGH_SPEED_480P
QUALITY_HIGH_SPEED_720P
QUALITY_HIGH_SPEED_1080P
QUALITY_HIGH_SPEED_2160P
hasProfile
public static boolean hasProfile (int cameraId, int quality)
Returns true if a camcorder profile exists for the given camera at the given quality level.
When using the Camera 2 API in LEGACY mode (i.e. when
CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL
is set
to
CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
),
hasProfile(int)
may return true
for unsupported resolutions. To ensure a
a given resolution is supported in LEGACY mode, the configuration given in
CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
must contain the the resolution in the supported output sizes. The recommended way to check
this is with
StreamConfigurationMap.getOutputSizes(Class)
with the
class of the desired recording endpoint, and check that the desired resolution is contained
in the list returned.
Parameters | |
---|---|
cameraId |
int : the id for the camera. Integer camera ids parsed from the list received by
invoking CameraManager#getCameraIdList can be used as long as they
are CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
and not
EXTERNAL . |
quality |
int : the target quality level for the camcorder profile |
Returns | |
---|---|
boolean |
See also:
hasProfile
public static boolean hasProfile (int quality)
Returns true if a camcorder profile exists for the first back-facing camera at the given quality level.
When using the Camera 2 API in LEGACY
mode (i.e. when
CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL
is set
to
CameraMetadata.INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
),
hasProfile(int)
may return true
for unsupported resolutions. To ensure a
a given resolution is supported in LEGACY mode, the configuration given in
CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP
must contain the the resolution in the supported output sizes. The recommended way to check
this is with
StreamConfigurationMap.getOutputSizes(Class)
with the
class of the desired recording endpoint, and check that the desired resolution is contained
in the list returned.
Parameters | |
---|---|
quality |
int : the target quality level for the camcorder profile |
Returns | |
---|---|
boolean |
See also: