Most visited

Recently visited

Added in API level 21

MediaCodecInfo.VideoCapabilities

public static final class MediaCodecInfo.VideoCapabilities
extends Object

java.lang.Object
   ↳ android.media.MediaCodecInfo.VideoCapabilities


支持查询编解码器视频功能的类。

Summary

Public methods

boolean areSizeAndRateSupported(int width, int height, double frameRate)

返回是否支持给定的视频大小( widthheight )和 frameRate组合。

Range<Double> getAchievableFrameRatesFor(int width, int height)

返回视频大小可实现的视频帧速率范围。

Range<Integer> getBitrateRange()

以比特/秒为单位返回支持的比特率范围。

int getHeightAlignment()

返回视频高度的对齐要求(以像素为单位)。

Range<Integer> getSupportedFrameRates()

返回支持的帧速率范围。

Range<Double> getSupportedFrameRatesFor(int width, int height)

返回视频大小支持的视频帧速率范围。

Range<Integer> getSupportedHeights()

返回支持的视频高度范围。

Range<Integer> getSupportedHeightsFor(int width)

返回视频宽度支持的视频高度范围

Range<Integer> getSupportedWidths()

返回支持的视频宽度范围。

Range<Integer> getSupportedWidthsFor(int height)

返回视频高度支持的视频宽度范围。

int getWidthAlignment()

返回视频宽度的对齐要求(以像素为单位)。

boolean isSizeSupported(int width, int height)

返回是否支持给定的视频大小( widthheight )。

Inherited methods

From class java.lang.Object

Public methods

areSizeAndRateSupported

Added in API level 21
boolean areSizeAndRateSupported (int width, 
                int height, 
                double frameRate)

返回是否支持给定的视频大小( widthheight )和 frameRate组合。

Parameters
width int
height int
frameRate double
Returns
boolean

getAchievableFrameRatesFor

Added in API level 23
Range<Double> getAchievableFrameRatesFor (int width, 
                int height)

返回视频大小可实现的视频帧速率范围。 如果编解码器没有发布任何测量数据,可能会返回null

这是设备制造商根据编解码器支持的各种常见视频尺寸配置中的全速解码和编码测量的统计采样提供的性能估计。 因此,它只能用于比较设备上的各个编解码器。 该值不适合比较不同的设备,甚至不同的设备的不同的android版本。

M版本上 ,返回的范围对应于在测试配置中实现的最快帧速率。 因此,不应使用它来衡量设备上的保证甚至平均编解码器性能。

N版本中 ,返回的范围更接近于经过测试的配置中的持续性能。 人们可以期望在超过50%的时间内达到高于下限的持续性能,并且在经过测试的配置中高于低于下限的一半至少90%。 相反,可以预期至少90%的时间性能低于上限的两倍。

经测试的配置使用单个活动编解码器。 对于多个编解码器处于活动状态的用例,应用程序可能会降低性能,并且在大多数情况下性能会显着降低

返回的范围值是从测试的最近帧尺寸插入的。 编解码器的性能受到设备上的其他活动以及环境因素(如电池电量,温度或电源)的严重影响,并且即使在稳定的环境中也会有很大差异。

在只有编解码器性能很重要的情况下使用此方法,例如评估编解码器是否有机会达到性能目标。 编解码器按照设备制造商定义的首选顺序列在MediaCodecList中。 因此,应用程序应该使用列表中的第一个合适的编解码器来实现电源使用和性能之间的最佳平衡。

Parameters
width int: the width of the video
height int: the height of the video
Returns
Range<Double>
Throws
IllegalArgumentException if the video size is not supported.

getBitrateRange

Added in API level 21
Range<Integer> getBitrateRange ()

以比特/秒为单位返回支持的比特率范围。

Returns
Range<Integer>

getHeightAlignment

Added in API level 21
int getHeightAlignment ()

返回视频高度的对齐要求(以像素为单位)。 这是视频高度必须为的倍数的2的幂。

Returns
int

getSupportedFrameRates

Added in API level 21
Range<Integer> getSupportedFrameRates ()

返回支持的帧速率范围。

这不是一个绩效指标。 相反,它表达了编码标准中规定的限制,基于编码材料的复杂性,用于以特定帧速率稍后重放,或非实时解码此类材料。

Returns
Range<Integer>

getSupportedFrameRatesFor

Added in API level 21
Range<Double> getSupportedFrameRatesFor (int width, 
                int height)

返回视频大小支持的视频帧速率范围。

这不是一个绩效指标。 相反,它表达了在编码标准中规定的限制,基于给定尺寸的编码材料的复杂性以用于稍后以特定帧速率播放,或者非实时地解码这些材料。

Parameters
width int: the width of the video
height int: the height of the video
Returns
Range<Double>

getSupportedHeights

Added in API level 21
Range<Integer> getSupportedHeights ()

返回支持的视频高度范围。

Returns
Range<Integer>

getSupportedHeightsFor

Added in API level 21
Range<Integer> getSupportedHeightsFor (int width)

返回视频宽度支持的视频高度范围

Parameters
width int: the width of the video
Returns
Range<Integer>

getSupportedWidths

Added in API level 21
Range<Integer> getSupportedWidths ()

返回支持的视频宽度范围。

Returns
Range<Integer>

getSupportedWidthsFor

Added in API level 21
Range<Integer> getSupportedWidthsFor (int height)

返回视频高度支持的视频宽度范围。

Parameters
height int: the height of the video
Returns
Range<Integer>

getWidthAlignment

Added in API level 21
int getWidthAlignment ()

返回视频宽度的对齐要求(以像素为单位)。 这是一个2的幂次值,视频宽度必须是倍数。

Returns
int

isSizeSupported

Added in API level 21
boolean isSizeSupported (int width, 
                int height)

返回是否支持给定的视频大小( widthheight )。

Parameters
width int
height int
Returns
boolean

Hooray!