Most visited

Recently visited

Added in API level 8

CamcorderProfile

public class CamcorderProfile
extends Object

java.lang.Object
   ↳ android.media.CamcorderProfile


检索摄像机应用程序的预定义摄像机配置文件设置。 这些设置是只读的。

来自具有给定CamcorderProfile的记录会话的压缩输出包含两个音轨:一个用于音频,另一个用于视频。

每个配置文件都指定了以下一组参数:

Summary

Constants

int QUALITY_1080P

质量水平对应于1080p(1920 x 1080)分辨率。

int QUALITY_2160P

质量水平对应于2160p(3840x2160)分辨率。

int QUALITY_480P

质量水平对应于480p(720 x 480)分辨率。

int QUALITY_720P

质量水平对应720p(1280 x 720)分辨率。

int QUALITY_CIF

质量水平对应于CIF(352 x 288)分辨率。

int QUALITY_HIGH

质量水平对应于最高可用分辨率。

int QUALITY_HIGH_SPEED_1080P

与1080p(1920 x 1080或1920x1088)分辨率相对应的高速(> = 100fps)质量等级。

int QUALITY_HIGH_SPEED_2160P

与2160p(3840 x 2160)分辨率相对应的高速(> = 100fps)质量级别。

int QUALITY_HIGH_SPEED_480P

与480p(720 x 480)分辨率相对应的高速(> = 100fps)质量等级。

int QUALITY_HIGH_SPEED_720P

与720p(1280 x 720)分辨率相对应的高速(> = 100fps)质量等级。

int QUALITY_HIGH_SPEED_HIGH

与最高可用分辨率相对应的高速(> = 100fps)质量级别。

int QUALITY_HIGH_SPEED_LOW

与最低可用分辨率相对应的高速(> = 100fps)质量级别。

int QUALITY_LOW

质量水平对应于最低的可用分辨率。

int QUALITY_QCIF

质量水平对应于qcif(176 x 144)分辨率。

int QUALITY_QVGA

质量水平对应于QVGA(320x240)分辨率。

int QUALITY_TIME_LAPSE_1080P

时间质量水平对应于1080p(1920 x 1088)分辨率。

int QUALITY_TIME_LAPSE_2160P

时间推移质量水平对应于2160p(3840 x 2160)分辨率。

int QUALITY_TIME_LAPSE_480P

时间推移质量水平对应于480p(720 x 480)分辨率。

int QUALITY_TIME_LAPSE_720P

时间质量水平对应于720p(1280 x 720)分辨率。

int QUALITY_TIME_LAPSE_CIF

时间质量水平对应于CIF(352 x 288)分辨率。

int QUALITY_TIME_LAPSE_HIGH

时间推移质量水平对应于最高可用分辨率。

int QUALITY_TIME_LAPSE_LOW

时间流逝质量水平对应于最低可用分辨率。

int QUALITY_TIME_LAPSE_QCIF

与qcif(176 x 144)分辨率对应的时间流逝质量水平。

int QUALITY_TIME_LAPSE_QVGA

时间质量水平对应于QVGA(320 x 240)分辨率。

Fields

public int audioBitRate

目标音频输出比特率,以每秒位数为单位

public int audioChannels

用于音轨的音频通道数量

public int audioCodec

音频编码器用于音轨。

public int audioSampleRate

用于音轨的音频采样率

public int duration

会话终止前的默认记录持续时间(秒)。

public int fileFormat

摄像机配置文件的文件输出格式

public int quality

摄像机配置文件的质量等级

public int videoBitRate

目标视频输出比特率,以每秒位数为单位

如果应用程序通过 setProfile(CamcorderProfile)配置视频录制而不指定任何其他 MediaRecorder编码参数,则这是目标录制的视频输出比特率。

public int videoCodec

视频编码器用于视频轨道

public int videoFrameHeight

目标视频帧高度(以像素为单位)

public int videoFrameRate

目标视频帧速率,以每秒帧数为单位。

public int videoFrameWidth

目标视频帧宽度(以像素为单位)

Public methods

static CamcorderProfile get(int quality)

以给定质量级别返回设备上第一台背面照相机的摄像机配置文件。

static CamcorderProfile get(int cameraId, int quality)

以给定质量等级返回给定摄像机的摄像机配置文件。

static boolean hasProfile(int cameraId, int quality)

如果摄像机配置文件对于给定质量级别的给定摄像机存在,则返回true。

static boolean hasProfile(int quality)

如果摄像机配置文件存在给定质量等级的第一台后置摄像头,则返回true。

Inherited methods

From class java.lang.Object

Constants

QUALITY_1080P

Added in API level 11
int QUALITY_1080P

质量水平对应于1080p(1920 x 1080)分辨率。 请注意,1080p的垂直分辨率也可以是1088,而不是1080(某些供应商用于避免在视频播放期间裁剪)。

常数值:6(0x00000006)

QUALITY_2160P

Added in API level 21
int QUALITY_2160P

质量水平对应于2160p(3840x2160)分辨率。

常量值:8(0x00000008)

QUALITY_480P

Added in API level 11
int QUALITY_480P

质量水平对应于480p(720 x 480)分辨率。 请注意,480p的水平分辨率也可以是其他值,例如640或704,而不是720。

常量值:4(0x00000004)

QUALITY_720P

Added in API level 11
int QUALITY_720P

质量水平对应720p(1280 x 720)分辨率。

常量值:5(0x00000005)

QUALITY_CIF

Added in API level 11
int QUALITY_CIF

质量水平对应于CIF(352 x 288)分辨率。

常量值:3(0x00000003)

QUALITY_HIGH

Added in API level 8
int QUALITY_HIGH

质量水平对应于最高可用分辨率。

常数值:1(0x00000001)

QUALITY_HIGH_SPEED_1080P

Added in API level 21
int QUALITY_HIGH_SPEED_1080P

与1080p(1920 x 1080或1920x1088)分辨率相对应的高速(> = 100fps)质量等级。

常量值:2004(0x000007d4)

QUALITY_HIGH_SPEED_2160P

Added in API level 21
int QUALITY_HIGH_SPEED_2160P

与2160p(3840 x 2160)分辨率相对应的高速(> = 100fps)质量级别。

常量值:2005(0x000007d5)

QUALITY_HIGH_SPEED_480P

Added in API level 21
int QUALITY_HIGH_SPEED_480P

与480p(720 x 480)分辨率相对应的高速(> = 100fps)质量等级。 请注意,480p的水平分辨率也可以是其他值,例如640或704,而不是720。

常量值:2002(0x000007d2)

QUALITY_HIGH_SPEED_720P

Added in API level 21
int QUALITY_HIGH_SPEED_720P

与720p(1280 x 720)分辨率相对应的高速(> = 100fps)质量等级。

常量值:2003(0x000007d3)

QUALITY_HIGH_SPEED_HIGH

Added in API level 21
int QUALITY_HIGH_SPEED_HIGH

与最高可用分辨率相对应的高速(> = 100fps)质量级别。

常量值:2001(0x000007d1)

QUALITY_HIGH_SPEED_LOW

Added in API level 21
int QUALITY_HIGH_SPEED_LOW

与最低可用分辨率相对应的高速(> = 100fps)质量级别。

对于以下定义的所有高速配置文件((从 QUALITY_HIGH_SPEED_LOWQUALITY_HIGH_SPEED_2160P ),它们与正常记录配置文件类似,只有较高的输出帧速率和比特率。因此,在不指定任何其他编码参数的情况下将这些配置文件设置为 setProfile(CamcorderProfile)将产生高如果要记录慢动作视频,应用程序必须通过基于慢动作因子 setVideoFrameRate(int)setVideoEncodingBitRate(int)适当设置视频输出(回放)帧速率和比特率。如果应用程序打算使用 MediaCodec编码器进行视频录制,则它必须根据此CamcorderProfile类似地设置每个单独的字段 MediaFormat

也可以看看:

常量值:2000(0x000007d0)

QUALITY_LOW

Added in API level 8
int QUALITY_LOW

质量水平对应于最低的可用分辨率。

常量值:0(0x00000000)

QUALITY_QCIF

Added in API level 11
int QUALITY_QCIF

质量水平对应于qcif(176 x 144)分辨率。

常量值:2(0x00000002)

QUALITY_QVGA

Added in API level 15
int QUALITY_QVGA

质量水平对应于QVGA(320x240)分辨率。

常量值:7(0x00000007)

QUALITY_TIME_LAPSE_1080P

Added in API level 11
int QUALITY_TIME_LAPSE_1080P

时间质量水平对应于1080p(1920 x 1088)分辨率。

常量值:1006(0x000003ee)

QUALITY_TIME_LAPSE_2160P

Added in API level 21
int QUALITY_TIME_LAPSE_2160P

时间推移质量水平对应于2160p(3840 x 2160)分辨率。

常数值:1008(0x000003f0)

QUALITY_TIME_LAPSE_480P

Added in API level 11
int QUALITY_TIME_LAPSE_480P

时间推移质量水平对应于480p(720 x 480)分辨率。

常量值:1004(0x000003ec)

QUALITY_TIME_LAPSE_720P

Added in API level 11
int QUALITY_TIME_LAPSE_720P

时间质量水平对应于720p(1280 x 720)分辨率。

常量值:1005(0x000003ed)

QUALITY_TIME_LAPSE_CIF

Added in API level 11
int QUALITY_TIME_LAPSE_CIF

时间质量水平对应于CIF(352 x 288)分辨率。

常量值:1003(0x000003eb)

QUALITY_TIME_LAPSE_HIGH

Added in API level 11
int QUALITY_TIME_LAPSE_HIGH

时间推移质量水平对应于最高可用分辨率。

常量值:1001(0x000003e9)

QUALITY_TIME_LAPSE_LOW

Added in API level 11
int QUALITY_TIME_LAPSE_LOW

时间流逝质量水平对应于最低可用分辨率。

常量值:1000(0x000003e8)

QUALITY_TIME_LAPSE_QCIF

Added in API level 11
int QUALITY_TIME_LAPSE_QCIF

与qcif(176 x 144)分辨率对应的时间流逝质量水平。

常量值:1002(0x000003ea)

QUALITY_TIME_LAPSE_QVGA

Added in API level 15
int QUALITY_TIME_LAPSE_QVGA

时间质量水平对应于QVGA(320 x 240)分辨率。

常量值:1007(0x000003ef)

Fields

audioBitRate

Added in API level 8
int audioBitRate

目标音频输出比特率,以每秒位数为单位

audioChannels

Added in API level 8
int audioChannels

用于音轨的音频通道数量

audioCodec

Added in API level 8
int audioCodec

音频编码器用于音轨。

也可以看看:

audioSampleRate

Added in API level 8
int audioSampleRate

用于音轨的音频采样率

duration

Added in API level 8
int duration

会话终止前的默认记录持续时间(秒)。 这对MMS等应用程序有限的文件大小要求很有用。

fileFormat

Added in API level 8
int fileFormat

摄像机配置文件的文件输出格式

也可以看看:

quality

Added in API level 8
int quality

摄像机配置文件的质量等级

videoBitRate

Added in API level 8
int videoBitRate

目标视频输出比特率,以每秒位数为单位

如果应用程序通过setProfile(CamcorderProfile)配置视频录制而不指定任何其他MediaRecorder编码参数,则这是目标录制的视频输出比特率。 例如,对于高速品质配置文件(从QUALITY_HIGH_SPEED_LOWQUALITY_HIGH_SPEED_2160P ),这是录制视频的比特率。 如果应用程序打算使用高速品质配置文件记录慢动作视频,则必须通过setVideoEncodingBitRate(int)设置与所需记录输出比特率(即正常播放期间的编码视频比特率)对应的不同视频比特率。 例如,如果QUALITY_HIGH_SPEED_720P通告240fps的videoFrameRate和64Mbps videoBitRate在高速CamcorderProfile,并且应用程序打算记录1/8因子缓慢记录视频,应用程序必须通过设置30fps的setVideoFrameRate(int)和8Mbps的( videoBitRate经由*慢动作因子) setVideoEncodingBitRate(int) 如果输出比特率超过编码器限制,则不这样做将导致视频具有意外的帧速率和比特率,或MediaRecorder错误。 如果应用程序打算使用MediaCodec编码器进行视频录制,则必须根据此CamcorderProfile类似地设置每个单独的字段MediaFormat

也可以看看:

videoCodec

Added in API level 8
int videoCodec

视频编码器用于视频轨道

也可以看看:

videoFrameHeight

Added in API level 8
int videoFrameHeight

目标视频帧高度(以像素为单位)

videoFrameRate

Added in API level 8
int videoFrameRate

目标视频帧速率,以每秒帧数为单位。

如果应用程序通过setProfile(CamcorderProfile)配置视频录制而不指定任何其他MediaRecorder编码参数,则这是每秒记录的目标视频输出帧速率。 例如,对于高速品质配置文件(从QUALITY_HIGH_SPEED_LOWQUALITY_HIGH_SPEED_2160P ),这是录制和播放视频的帧速率。 如果应用程序打算创建具有高速品质配置文件的慢动作用例,则它必须通过setVideoFrameRate(int)设置与所需输出(回放)帧速率对应的不同视频帧速率。 例如,如果QUALITY_HIGH_SPEED_720P在CamcorderProfile中公告240fps videoFrameRate ,并且该应用程序打算创建1/8因素慢动作录制视频,则应用程序必须通过setVideoFrameRate(int)设置30fps。 如果不这样做,会导致正常速度播放帧速率的高速视频(以上例子为240fps)。 如果应用程序打算使用MediaCodec编码器进行视频录制,则它必须根据此CamcorderProfile类似地设置每个单独的字段MediaFormat

也可以看看:

videoFrameWidth

Added in API level 8
int videoFrameWidth

目标视频帧宽度(以像素为单位)

Public methods

get

Added in API level 8
CamcorderProfile get (int quality)

以给定质量级别返回设备上第一台背面照相机的摄像机配置文件。 如果设备没有后置摄像头,则返回null。

Parameters
quality int: the target quality level for the camcorder profile
Returns
CamcorderProfile

也可以看看:

get

Added in API level 9
CamcorderProfile get (int cameraId, 
                int quality)

以给定质量等级返回给定摄像机的摄像机配置文件。 质量等级QUALITY_LOW,QUALITY_HIGH保证被支持,而其他等级可能被支持也可能不被支持。 支持的级别可以使用hasProfile(int, int)进行检查。 QUALITY_LOW是指可用的最低质量,而QUALITY_HIGH是指可用的最高质量。 QUALITY_LOW / QUALITY_HIGH必须与qcif,cif,480p,720p,1080p或2160p中的一个匹配。 例如,如果该设备支持480p,720p,1080p和2160p,那么低为480p,高为2160p。 时间质量水平也是如此,即QUALITY_TIME_LAPSE_LOW,QUALITY_TIME_LAPSE_HIGH保证被支持并且必须匹配qcif,cif,480p,720p,1080p或2160p中的一个。 对于高速的质量水平,他们可能会或可能不会被支持。 如果支持一个级别的子集,则QUALITY_HIGH_SPEED_LOW和QUALITY_HIGH_SPEED_HIGH保证受支持,并且必须匹配480p,720p或1080p中的一个。 与具有较低质量等级的摄像机相比,具有较高质量等级的摄像机记录通常具有更高的输出比特率,更好的视频和/或音频录制质量,更大的视频帧分辨率和更高的音频采样率等。

Parameters
cameraId int: the id for the camera
quality int: the target quality level for the camcorder profile.
Returns
CamcorderProfile

也可以看看:

hasProfile

Added in API level 11
boolean hasProfile (int cameraId, 
                int quality)

如果摄像机配置文件对于给定质量级别的给定摄像机存在,则返回true。

在LEGACY模式下使用Camera 2 API时(即当INFO_SUPPORTED_HARDWARE_LEVEL设置为INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY ), hasProfile(int)可能会返回true以获得不支持的分辨率。 为了确保在LEGACY模式下支持给定的分辨率, SCALER_STREAM_CONFIGURATION_MAP给出的配置必须包含支持的输出尺寸中的分辨率。 推荐的方法是使用getOutputSizes(Class)和所需记录端点的类别,并检查返回的列表中是否包含所需的分辨率。

Parameters
cameraId int: the id for the camera
quality int: the target quality level for the camcorder profile
Returns
boolean

也可以看看:

hasProfile

Added in API level 11
boolean hasProfile (int quality)

如果摄像机配置文件存在给定质量等级的第一台后置摄像头,则返回true。

LEGACY模式(即INFO_SUPPORTED_HARDWARE_LEVEL设置为INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY )使用相机2 API时, hasProfile(int)可能会返回true不支持的分辨率。 要确保在LEGACY模式下支持给定的分辨率, SCALER_STREAM_CONFIGURATION_MAP给出的配置必须包含支持的输出尺寸中的分辨率。 推荐的方法是使用getOutputSizes(Class)与所需记录终点的类别进行检查,并检查返回的列表中是否包含所需的分辨率。

Parameters
quality int: the target quality level for the camcorder profile
Returns
boolean

也可以看看:

Hooray!