MediaFormat api详解

MediaFormat

扩展 对象
java.lang.Object继承
   ↳ android.media.MediaFormat

封装描述媒体数据格式的信息,无论是音频还是视频。媒体数据的格式被指定为字符串/值对。所有格式通用的所有未标记为可选的键都是必需的

名称 值类型 描述
KEY_MIME 格式的类型。
KEY_MAX_INPUT_SIZE 整数 可选,输入数据缓冲区的最大大小
KEY_BIT_RATE 整数 仅编码器,所需比特率(以比特/秒为单位)
视频格式具有以下键:
名称 值类型 描述
KEY_WIDTH 整数  
KEY_HEIGHT 整数  
KEY_COLOR_FORMAT 整数 编码器只
KEY_FRAME_RATE 整数或浮点数 编码器只
KEY_I_FRAME_INTERVAL 整数 编码器只
音频格式具有以下
名称 值类型 描述
KEY_CHANNEL_COUNT 整数  
KEY_SAMPLE_RATE 整数  
KEY_IS_ADTS 整数 可选,如果解码 AAC音频内容,将此键设置为1表示每个音频帧都以ADTS头为前缀。
KEY_AAC_PROFILE 整数 仅编码器,可选,如果内容为AAC音频,则指定所需的配置文件。
KEY_CHANNEL_MASK 整数 可选的,音频通道分配的掩码
KEY_FLAC_COMPRESSION_LEVEL 整数 仅编码器,可选,如果内容为FLAC音频,则指定所需的压缩级别。

概要


常量
KEY_AAC_PROFILE 描述要使用的AAC配置文件的键(仅限AAC音频格式)。
KEY_BIT_RATE 描述比特率(比特/秒)的密钥。
KEY_CHANNEL_COUNT 描述音频格式的频道数量的键。
KEY_CHANNEL_MASK 描述音频内容的频道组成的一个关键字。
KEY_COLOR_FORMAT 描述视频格式的内容的颜色格式的键。
KEY_DURATION 描述内容的持续时间(以微秒为单位)的键。
KEY_FLAC_COMPRESSION_LEVEL 描述要使用的FLAC压缩级别的键(仅限FLAC音频格式)。
KEY_FRAME_RATE 描述以帧/秒为单位的视频格式的帧速率的键。
KEY_HEIGHT 描述视频格式的内容的高度的键。
KEY_IS_ADTS 如果内容是AAC音频和音频帧以ADTS头部为前缀,则键映射为值1。
KEY_I_FRAME_INTERVAL 描述以I帧表示的I帧的频率的键。
KEY_MAX_INPUT_SIZE 描述此MediaFormat描述的数据缓冲区的最大大小(字节)的键。
KEY_MIME 描述MediaFormat的MIME类型的关键字。
KEY_SAMPLE_RATE 描述音频格式的采样率的键。
KEY_WIDTH 描述视频格式的内容的宽度的键。
公共建设者
  MediaFormat()
创建一个空的MediaFormat
公共方法
最终的布尔值 containsKey String name)
如果给定名称的键存在格式,则返回true。
最终静态 MediaFormat createAudioFormat String mime,int sampleRate,int channelCount)
创建一个最小的音频格式。
最终静态 MediaFormat createVideoFormat String mime,int width,int height)
创建最小的视频格式。
最终 ByteBuffer getByteBuffer String name)
返回ByteBuffer键的值。
最后浮动 getFloat String name)
返回浮点值的值。
最后的int getInteger String name)
返回整数键的值。
最后很久 getLong String name)
返回长键的值。
最终 字符串 getString String name)
返回字符串键的值。
最终无效 setByteBuffer String name, ByteBuffer bytes)
设置ByteBuffer键的值。
最终无效 setFloat String name,float value)
设置浮点数的值。
最终无效 setInteger String name,int value)
设置整数键的值。
最终无效 setLong String name,long value)
设置长键的值。
最终无效 setString String name, String value)
设置字符串键的值。
toString()
返回一个字符串,其中包含对该对象的简明,可读的描述。
[扩大]
继承方法
 从类 java.lang.Object

常量


public static final String KEY_AAC_PROFILE

API级别16中添加

描述要使用的AAC配置文件的键(仅限AAC音频格式)。常数被声明MediaCodecInfo.CodecCapabilities

常数值:  “aac-profile”

public static final String KEY_BIT_RATE

API级别16中添加

描述比特率(比特/秒)的密钥。关联值为整数

常数值:  “比特率”

public static final String KEY_CHANNEL_COUNT

API级别16中添加

描述音频格式的频道数量的键。关联值为整数

常数值:  “通道数”

public static final String KEY_CHANNEL_MASK

API级别16中添加

描述音频内容的频道组成的一个关键字。该掩码由从通道掩码定义中绘制的位组成AudioFormat。 关联值为整数。

常数值:  “通道掩码”

public static final String KEY_COLOR_FORMAT

API级别16中添加

描述视频格式的内容的颜色格式的键。常数被声明MediaCodecInfo.CodecCapabilities

常数值:  “颜色格式”

public static final String KEY_DURATION

API级别16中添加

描述内容的持续时间(以微秒为单位)的键。相关值很长。

常数值:  “durationU”

public static final String KEY_FLAC_COMPRESSION_LEVEL

API级别16中添加

描述要使用的FLAC压缩级别的键(仅限FLAC音频格式)。相关联的值是从0(最快,最小压缩)到8(最慢,最压缩)的整数。

常数值:  “flac-compression-level”

public static final String KEY_FRAME_RATE

API级别16中添加

描述以帧/秒为单位的视频格式的帧速率的键。关联值为整数或浮点数。

常数值:  “帧率”

public static final String KEY_HEIGHT

API级别16中添加

描述视频格式的内容的高度的键。关联值为整数

常数值:  “height”

public static final String KEY_IS_ADTS

API级别16中添加

如果内容是AAC音频和音频帧以ADTS头部为前缀,则键映射为值1。关联值为整数(0或1)。该键仅在_decoding_内容时才支持,不能用于配置编码器来发出ADTS输出。

恒定值:  “is-adts”

public static final String KEY_I_FRAME_INTERVAL

API级别16中添加

描述以I帧表示的I帧的频率的键。关联值为整数。

常数值:  “i-frame-interval”

public static final String KEY_MAX_INPUT_SIZE

API级别16中添加

描述此MediaFormat描述的数据缓冲区的最大大小(字节)的键。关联值为整数

常数值:  “max-input-size”

public static final String KEY_MIME

API级别16中添加

描述MediaFormat的MIME类型的关键字。关联的值是一个字符串。

常数值:  “mime”

public static final String KEY_SAMPLE_RATE

API级别16中添加

描述音频格式的采样率的键。关联值为整数

常数值:  “采样率”

public static final String KEY_WIDTH

API级别16中添加

描述视频格式的内容的宽度的键。关联值为整数

常数值:  “width”

公共建设者


public MediaFormat ()

API级别16中添加

创建一个空的MediaFormat

公共方法


public final boolean containsKey String name)

API级别16中添加

如果给定名称的键存在格式,则返回true。

public static final MediaFormat createAudioFormat String mime,int sampleRate,int channelCount)

API级别16中添加

创建一个最小的音频格式。

参数
哑剧 mime类型的内容。
采样率 内容的采样率。
信道计数 音频频道数量在内容中。

public static final MediaFormat createVideoFormat String mime,int width,int height)

API级别16中添加

创建最小的视频格式。

参数
哑剧 mime类型的内容。
宽度 内容的宽度(以像素为单位)
高度 内容的高度(以像素为单位)

public final ByteBuffer getByteBuffer String name)

API级别16中添加

返回ByteBuffer键的值。

public final float getFloat String name)

API级别16中添加

返回浮点值的值。

public final int getInteger String name)

API级别16中添加

返回整数键的值。

public final long getLong String name)

API级别16中添加

返回长键的值。

public final String getString String name)

API级别16中添加

返回字符串键的值。

public final void setByteBuffer String name,ByteBuffer bytes)

API级别16中添加

设置ByteBuffer键的值。

public final void setFloat String name,float value)

API级别16中添加

设置浮点数的值。

public final void setInteger String name,int value)

API级别16中添加

设置整数键的值。

public final void setLong String name,long value)

API级别16中添加

设置长键的值。

public final void setString String name,String value)

API级别16中添加

设置字符串键的值。

public String toString ()

API级别16中添加

返回一个字符串,其中包含对该对象的简明,可读的描述。鼓励子类覆盖此方法,并提供考虑对象的类型和数据的实现。默认实现等同于以下表达式:

   getClass()。getName()+'@'+ Integer.toHexString(hashCode())

写一个有用的 toString方法 ,如果你打算实现自己的toString方法。

你可能感兴趣的:(Android)