parent
324f0c8a47
commit
b65e9e446d
@ -1,19 +1,73 @@ |
||||
package com.otaliastudios.cameraview; |
||||
|
||||
import android.support.annotation.IntDef; |
||||
|
||||
import java.lang.annotation.Retention; |
||||
import java.lang.annotation.RetentionPolicy; |
||||
|
||||
import static com.otaliastudios.cameraview.CameraConstants.VIDEO_QUALITY_1080P; |
||||
import static com.otaliastudios.cameraview.CameraConstants.VIDEO_QUALITY_2160P; |
||||
import static com.otaliastudios.cameraview.CameraConstants.VIDEO_QUALITY_480P; |
||||
import static com.otaliastudios.cameraview.CameraConstants.VIDEO_QUALITY_720P; |
||||
import static com.otaliastudios.cameraview.CameraConstants.VIDEO_QUALITY_HIGHEST; |
||||
import static com.otaliastudios.cameraview.CameraConstants.VIDEO_QUALITY_LOWEST; |
||||
import static com.otaliastudios.cameraview.CameraConstants.VIDEO_QUALITY_QVGA; |
||||
|
||||
@Retention(RetentionPolicy.SOURCE) |
||||
@IntDef({VIDEO_QUALITY_QVGA, VIDEO_QUALITY_480P, VIDEO_QUALITY_720P, VIDEO_QUALITY_1080P, VIDEO_QUALITY_2160P, VIDEO_QUALITY_HIGHEST, VIDEO_QUALITY_LOWEST}) |
||||
public @interface VideoQuality { |
||||
|
||||
/** |
||||
* Constants for selecting the quality of video recordings. |
||||
* |
||||
* @see CameraView#setVideoQuality(VideoQuality) |
||||
*/ |
||||
public enum VideoQuality { |
||||
|
||||
|
||||
/** |
||||
* Quality level corresponding to the lowest available resolution. |
||||
*/ |
||||
LOWEST(0), |
||||
|
||||
/** |
||||
* Quality level corresponding to the highest available resolution. |
||||
*/ |
||||
HIGHEST(1), |
||||
|
||||
/** |
||||
* Quality level corresponding to the QVGA (320x240) resolution. |
||||
*/ |
||||
MAX_QVGA(2), |
||||
|
||||
/** |
||||
* 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. |
||||
*/ |
||||
MAX_480P(3), |
||||
|
||||
/** |
||||
* Quality level corresponding to the 720p (1280 x 720) resolution. |
||||
*/ |
||||
MAX_720P(4), |
||||
|
||||
/** |
||||
* 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). |
||||
*/ |
||||
MAX_1080P(5), |
||||
|
||||
/** |
||||
* Quality level corresponding to the 2160p (3840x2160) resolution. |
||||
*/ |
||||
MAX_2160P(6); |
||||
|
||||
static final VideoQuality DEFAULT = MAX_480P; |
||||
|
||||
private int value; |
||||
|
||||
VideoQuality(int value) { |
||||
this.value = value; |
||||
} |
||||
|
||||
int value() { |
||||
return value; |
||||
} |
||||
|
||||
static VideoQuality fromValue(int value) { |
||||
VideoQuality[] list = VideoQuality.values(); |
||||
for (VideoQuality action : list) { |
||||
if (action.value() == value) { |
||||
return action; |
||||
} |
||||
} |
||||
return null; |
||||
} |
||||
} |
||||
|
Loading…
Reference in new issue