QualitySelector
class QualitySelector
QualitySelector defines a desired quality setting that can be used to configure components with quality setting requirements such as creating a Recorder.
There are pre-defined quality constants that are universally used for video, such as SD, HD, FHD and UHD, but not all of them are supported on every device since each device has its own capabilities. isQualitySupported can be used to check whether a quality is supported on the device or not and getResolution can be used to get the actual resolution defined in the device. Aside from checking the qualities one by one, QualitySelector provides a more convenient way to select a quality. The typical usage of selecting a single desired quality is:
QualitySelector qualitySelector = QualitySelector.from(Quality.FHD);
QualitySelector qualitySelector = QualitySelector.fromOrderedList( Arrays.asList(Quality.FHD, Quality.HD, Quality.HIGHEST) );
LOWEST or HIGHEST in the end of the desired quality list, which ensures the QualitySelector can always choose a supported quality. Another way to ensure a quality will be selected when none of the desired qualities are supported is to use fromOrderedList with an open-ended fallback strategy such as a fallback strategy from lowerQualityOrHigherThan:
QualitySelector qualitySelector = QualitySelector.fromOrderedList( Arrays.asList(Quality.UHD, Quality.FHD), FallbackStrategy.lowerQualityOrHigherThan(Quality.FHD) );
Summary
Public functions |
|
|---|---|
java-static QualitySelector |
Gets an instance of QualitySelector with a desired quality. |
java-static QualitySelector |
from(quality: Quality, fallbackStrategy: FallbackStrategy)Gets an instance of QualitySelector with a desired quality and a fallback strategy. |
java-static QualitySelector |
fromOrderedList(qualities: (Mutable)List<Quality!>)Gets an instance of QualitySelector with ordered desired qualities. |
java-static QualitySelector |
fromOrderedList(Gets an instance of QualitySelector with ordered desired qualities and a fallback strategy. |
java-static Size? |
getResolution(cameraInfo: CameraInfo, quality: Quality)Gets the corresponding resolution from the input quality. |
java-static (Mutable)List<Quality!> |
This function is deprecated. use |
java-static Boolean |
This function is deprecated. use |
String |
toString() |
Public functions
from
java-static fun from(quality: Quality): QualitySelector
Gets an instance of QualitySelector with a desired quality.
| Parameters | |
|---|---|
quality: Quality |
the quality. Possible values include |
| Returns | |
|---|---|
QualitySelector |
the QualitySelector instance. |
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |
from
java-static fun from(quality: Quality, fallbackStrategy: FallbackStrategy): QualitySelector
Gets an instance of QualitySelector with a desired quality and a fallback strategy.
If the quality is not supported, the fallback strategy will be applied. The fallback strategy can be created by FallbackStrategy API such as lowerQualityThan.
| Parameters | |
|---|---|
quality: Quality |
the quality. Possible values include |
fallbackStrategy: FallbackStrategy |
the fallback strategy that will be applied when the device does not support |
| Returns | |
|---|---|
QualitySelector |
the QualitySelector instance. |
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |
fromOrderedList
java-static fun fromOrderedList(qualities: (Mutable)List<Quality!>): QualitySelector
Gets an instance of QualitySelector with ordered desired qualities.
The final quality will be selected according to the order in the quality list.
| Parameters | |
|---|---|
qualities: (Mutable)List<Quality!> |
the quality list. Possible values include |
| Returns | |
|---|---|
QualitySelector |
the QualitySelector instance. |
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |
fromOrderedList
java-static fun fromOrderedList(
qualities: (Mutable)List<Quality!>,
fallbackStrategy: FallbackStrategy
): QualitySelector
Gets an instance of QualitySelector with ordered desired qualities and a fallback strategy.
The final quality will be selected according to the order in the quality list. If no quality is supported, the fallback strategy will be applied. The fallback strategy can be created by FallbackStrategy API such as lowerQualityThan.
| Parameters | |
|---|---|
qualities: (Mutable)List<Quality!> |
the quality list. Possible values include |
fallbackStrategy: FallbackStrategy |
the fallback strategy that will be applied when the device does not support those |
| Throws | |
|---|---|
java.lang.NullPointerException |
if |
java.lang.IllegalArgumentException |
if |
getResolution
java-static fun getResolution(cameraInfo: CameraInfo, quality: Quality): Size?
Gets the corresponding resolution from the input quality.
Possible values for quality include LOWEST, HIGHEST, SD, HD, FHD and UHD.
| Parameters | |
|---|---|
cameraInfo: CameraInfo |
the cameraInfo for checking the quality. |
quality: Quality |
one of the quality constants. |
| Returns | |
|---|---|
Size? |
the corresponding resolution from the input quality, or |
| Throws | |
|---|---|
java.lang.IllegalArgumentException |
if quality is not one of the possible values. |
| See also | |
|---|---|
isQualitySupported |
java-static fungetSupportedQualities(cameraInfo: CameraInfo): (Mutable)List<Quality!>
Gets all supported qualities on the device.
The returned list is sorted by quality size from largest to smallest. For the qualities in the returned list, with the same input cameraInfo, isQualitySupported will return true and getResolution will return the corresponding resolution.
Note: Constants HIGHEST and LOWEST are not included in the returned list, but their corresponding qualities are included.
| Parameters | |
|---|---|
cameraInfo: CameraInfo |
the cameraInfo |
java-static funisQualitySupported(cameraInfo: CameraInfo, quality: Quality): Boolean
Checks if the quality is supported.
Calling this method with one of the qualities contained in the returned list of getSupportedQualities will return true.
Possible values for quality include LOWEST, HIGHEST, SD, HD, FHD and UHD.
If this method is called with LOWEST or HIGHEST, it will return true except the case that none of the qualities can be supported.
| Parameters | |
|---|---|
cameraInfo: CameraInfo |
the cameraInfo for checking the quality. |
quality: Quality |
one of the quality constants. |
| Returns | |
|---|---|
Boolean |
|
| See also | |
|---|---|
getSupportedQualities |