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 格式