Windows Store的媒体基础API

应某人要求。。。

【接口】
IMF2DBuffer
保存2D图像的Buffer
IMF2DBuffer2
加强版
IMFActivate
激活一个MF对象的对象
IMFAsyncCallback
写代码的时候经常实现这玩意,响应异步Invoke
IMFAsyncResult
拿异步执行后的结果
IMFAttributes
存储媒体属性值
IMFByteStream
一切的起点,从本地文件或者网络拿到数据流
IMFByteStreamBuffering
自己看
IMFClock
同步控制时钟
IMFClockStateSink
自己看
IMFCollection
保存MF的对象集合
IMFDXGIBuffer
保存DXGI图像的Buffer
IMFDXGIDeviceManager
使用DXGI设备
IMFGetService
从某个接口里面拿某个MF接口
IMFInputTrustAuthority
不懂
IMFMediaBuffer
媒体的缓冲区
IMFMediaEngine
媒体引擎,媒体元素控件就是基于这个实现
IMFMediaEngineClassFactory
创建媒体引擎的东西
IMFMediaEngineEx
加强版
IMFMediaEngineExtension
实现扩展的接口
IMFMediaEngineNotify
调用者实现接收系统通知的接口
IMFMediaEngineProtectedContent
不懂
IMFMediaEngineSrcElements
这个解释好麻烦
IMFMediaError
MF的GetLastError
IMFMediaEvent
包含媒体事件的接口
IMFMediaEventGenerator
媒体事件生成器
IMFMediaEventQueue
媒体事件队列器
IMFMediaSink
输出器(如Render的概念)
IMFMediaSinkPreroll
不懂
IMFMediaSource
输入器(提供数据给Render)
IMFMediaSourceEx
加强版
IMFMediaTimeRange
控制媒体的时间范围
IMFMediaType
表示媒体类型
IMFMediaTypeHandler
处理这个媒体类型的接口
IMFMetadata
从Source获取关于这个媒体的元数据(比如音乐封面)
IMFMetadataProvider
创建IMFMetadata的接口
IMFOutputPolicy
不懂
IMFOutputSchema
不懂
IMFOutputTrustAuthority
不懂
IMFPresentationClock
控制视频音频同步
IMFPresentationDescriptor
描述符
IMFPresentationTimeSource
配合IMFPresentationClock
IMFProtectedEnvironmentAccess
不懂
IMFQualityAdvise
IMFQualityAdvise2
IMFQualityAdviseLimits
不懂
IMFRateControl
IMFRateSupport
控制Source的速度
IMFReadWriteClassFactory
无聊的东西
IMFRealTimeClientEx
提高线程优先级
IMFSample
采样
IMFSampleOutputStream
不懂
IMFSampleProtection
不懂
IMFSchemeHandler
处理协议
IMFShutdown
类似Release
IMFSignedLibrary
没啥说的
IMFSinkWriter
IMFSinkWriterCallback
IMFSinkWriterEx
IMFSourceReader
IMFSourceReaderCallback
IMFSourceReaderEx
方便读写IMFSample的东西
IMFSourceResolver
创建IMFMediaSource
IMFStreamDescriptor
流描述符
IMFStreamingSinkConfig
IMFStreamSink
IMFSystemId
IMFTrackedSample
没啥说的
IMFTransform
实现解码或者特效
IMFTrustedInput
IMFTrustedOutput
不懂
IMFVideoSampleAllocator
IMFVideoSampleAllocatorCallback
IMFVideoSampleAllocatorEx
IMFVideoSampleAllocatorNotify
视频申请器

【函数】
MFAllocateSerialWorkQueue
创建一个MF的线程工作队列对象,这个工作队列强制执行FIFO规则(先入先出)
MFCancelWorkItem
取消一个工作队列的项目(适应于Wait类型的工作队列等)
MFCopyImage
加速复制图像Buffer到另一个Buffer
MFCreate2DMediaBuffer
创建2D图片的IMFMediaBuffer
MFCreateDXGISurfaceBuffer
创建兼容DXGI图像的IMFMediaBuffer(也暴露2D Buffer的所有接口)
MFCreateAggregateSource
将多个IMFMediaSource聚合为一个系统包装的IMFMediaSource
MFCreateAlignedMemoryBuffer
创建IMFMediaBuffer,其的大小都是对齐到指定的字节
MFCreateAsyncResult
创建一个异步返回结果的值
MFCreateAttributes
创建一个IMFAttributes对象
MFCreateEventQueue
创建一个MF的事件队列对象
MFCreateMediaBufferFromMediaType
从一个IMFMediaType创建一个IMFMediaBuffer接口
MFCreateMediaBufferWrapper
创建一个新的IMFMediaBuffer,这个新的接口包装老的IMFMediaBuffer接口
MFCreateMediaEvent
创建一个媒体事件,用于异步发送
MFCreateMediaExtensionActivate
创建WinRT对象的IMediaExtension接口用于激活
MFCreateMediaType
创建一个IMFMediaType接口
MFCreateMemoryBuffer
创建普通的IMFMediaBuffer接口
MFCreateMFByteStreamOnStreamEx
从WinRT的Stream对象创建IMFByteStream接口
MFCreatePresentationDescriptor
创建源的视频音频描述
MFCreateSample
创建一个IMFSample对象
MFCreateSourceResolver
创建MF源获取核心接口
MFCreateStreamDescriptor
创建流描述符
MFCreateStreamOnMFByteStreamEx
从IMFByteStream接口创建WinRT的Stream接口
MFCreateTrackedSample
我也不懂这个干啥用的。。。。
MFCreateVideoSampleAllocatorEx
创建视频图像采样申请器,这个申请器对象的图像兼容DXGI格式
MFCreateWaveFormatExFromMFMediaType
创建一个IMFMediaType接口,这个接口从WAVEFORMATEX结构体初始化
MFSerializeAttributesToStream
把IMFAttributes对象的所有属性列集打包到一个Stream
MFDeserializeAttributesFromStream
散集Stream中的属性到IMFAttributes对象
MFGetService
从某个MF接口中取得一个服务对象
MFGetSystemId
取得系统特定的ID值
MFGetSystemTime
取得系统的时间(精确到100ns)
MFInitAttributesFromBlob
从数组初始化IMFAttributes对象
MFInitMediaTypeFromWaveFormatEx
从WAVEFOMRATEX结构体初始化IMFMediaType对象
MFInvokeCallback
调用异步回调,通知某个对象操作已经完成可以进行结束调用
MFllMulDiv
计算((a * b) + d) / c
MFLoadSignedLibrary
载入签名的dll
MFLockPlatform
类似AddRef
MFLockSharedWorkQueue
给一个工作队列AddRef
MFLockWorkQueue
给一个工作队列AddRef
MFPutWaitingWorkItem
给工作队列提交一个等待指定时间后执行的项目
MFPutWorkItem2
给工作队列提交项目
MFPutWorkItemEx2
给工作队列提交项目
MFUnlockPlatform
就是Release
MFUnlockWorkQueue
就是Release,到0的话释放工作队列
MFWrapMediaType
从一个原来的IMFMediaType接口根据新的MAJOR和SUB的TYPE包装一个新的接口
MFUnwrapMediaType
和MFWrapMediaType成反作用
MFStartup
类似CoInitialize
MFShutdown
类似CoUnitialize

MFCreateSinkWriterFromMediaSink
MFCreateSinkWriterFromURL
MFCreateSourceReaderFromByteStream
MFCreateSourceReaderFromMediaSource
MFCreateSourceReaderFromURL
方便读写IMFSample的东西,自己折腾去。

MFGetAttribute2UINT32asUINT64
MFGetAttributesAsBlob
MFGetAttributesAsBlobSize
MFGetAttributeDouble
MFGetAttributeRatio
MFGetAttributeSize
MFGetAttributeString
MFGetAttributeUINT32
MFGetAttributeUINT64
MFSetAttribute2UINT32asUINT64
MFSetAttributeRatio
MFSetAttributeSize
没什么好说的。

你可能感兴趣的:(Windows Store的媒体基础API)