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。
最终静态 MediaFormatcreateAudioFormat String mime,int sampleRate,int channelCount)
创建一个最小的音频格式。
最终静态 MediaFormatcreateVideoFormat String mime,int width,int height)
创建最小的视频格式。
最终 ByteBuffergetByteBuffer String name)
返回ByteBuffer键的值。
最后浮动getFloat String name)
返回浮点值的值。
最后的intgetInteger 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方法。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值