aardio 文档

sys.mediaFoundation 库模块帮助文档

sys.mediaFoundation 使用指南

sys.mediaFoundation 成员列表 #

调用系统自带 Media Foundation(零依赖)读写音视频。
本模块提供底层接口声明、GUID 表与属性工具函数。
写 MP4 请导入 sys.mediaFoundation.writer,读取解码请导入 sys.mediaFoundation.reader。
MP3 解码请导入 sys.mediaFoundation.mp3Decoder

sys.mediaFoundation.IMF2DBuffer #

IMF2DBuffer 接口声明类

sys.mediaFoundation.IMFAttributes #

IMFAttributes 接口声明类

sys.mediaFoundation.IMFMediaBuffer #

IMFMediaBuffer 接口声明类

sys.mediaFoundation.IMFMediaType #

IMFMediaType 接口声明类

sys.mediaFoundation.IMFSample #

IMFSample 接口声明类

sys.mediaFoundation.IMFSinkWriter #

IMFSinkWriter 接口声明类

sys.mediaFoundation.IMFSourceReader #

IMFSourceReader 接口声明类

sys.mediaFoundation.PROPVARIANT() #

PROPVARIANT 结构体(只用于数值类型)

sys.mediaFoundation.api #

已声明的 Media Foundation API 函数

sys.mediaFoundation.available #

当前操作系统是否支持Media Foundation 组件(如部分 Windows Server 或精简版系统不支持)

sys.mediaFoundation.createAttributes() #

返回对象:sysMfAttributesObject

sys.mediaFoundation.createAttributes(attributes) #

创建 IMFAttributes 接口对象并批量设置属性,失败返回 null,错误信息。
属性表规则见 setAttributes

sys.mediaFoundation.createMediaType() #

返回对象:sysMfAttributesObject

sys.mediaFoundation.createMediaType(attributes) #

创建 IMFMediaType 接口对象并批量设置属性,失败返回 null,错误信息。
属性表规则见 setAttributes

sys.mediaFoundation.getGUID(attrs,name) #

读取 GUID 属性,返回 win.guid 结构体

sys.mediaFoundation.getPair(attrs,name) #

读取 UINT64 属性并拆分,返回 高32位,低32位。
例如帧尺寸返回 宽,高,帧率返回 分子,分母

sys.mediaFoundation.getUINT32(attrs,name) #

读取 UINT32 属性,不存在返回 null

sys.mediaFoundation.guidName(guid) #

GUID 转可读名称,例如媒体子类型返回 "H264"、"AAC"

sys.mediaFoundation.guids #

GUID 表:MF_MT_、MFMediaType_、MFVideoFormat_、MFAudioFormat_、CODECAPI_* 等

sys.mediaFoundation.hresultText(hr,action) #

HRESULT 错误码转错误信息

sys.mediaFoundation.setAttributes(attrs,attributes) #

批量设置属性,成功返回 true,失败返回 null,错误信息。
键为 guids 表中的名称(或 GUID 字符串),值的类型决定写入方式:
字符串 = GUID 名称或 GUID 字符串;数值、布尔值 = UINT32;
{高32位,低32位} = UINT64,例如帧尺寸 {宽,高}、帧率 {分子,分母}

sys.mediaFoundation.shutdown() #

对应一次 startup 调用(MFShutdown)

sys.mediaFoundation.startup() #

初始化 Media Foundation(MFStartup),成功返回 true。
可重复调用,每次调用都要对应一次 shutdown。
writer、reader 已自动调用,一般无需手动调用

sys.mediaFoundation.wrap(ptr,declInterface) #

把 API 返回的原生接口指针包装为接口对象,并释放原指针的引用

sysMfAttributesObject 成员列表 #

sysMfAttributesObject.GetCount(0) #

返回 HRESULT,属性个数

sysMfAttributesObject.GetGUID(key,win.guid()) #

返回 HRESULT,GUID

sysMfAttributesObject.GetUINT32(key,0) #

返回 HRESULT,值

sysMfAttributesObject.GetUINT64(key,0) #

返回 HRESULT,值

sysMfAttributesObject.Release() #

引用计数减一

sysMfAttributesObject.SetGUID(key,guid) #

设置 GUID 属性

sysMfAttributesObject.SetUINT32(key,value) #

设置 UINT32 属性,参数 @key 为 GUID 结构体

sysMfAttributesObject.SetUINT64(key,value) #

设置 UINT64 属性

Markdown 格式