MFCreateADTSMediaSink 函数 (mfidl.h)
(ADTS) 媒体接收器创建音频数据传输流的实例。
语法
HRESULT MFCreateADTSMediaSink(
[in] IMFByteStream *pTargetByteStream,
[in] IMFMediaType *pAudioMediaType,
[out] IMFMediaSink **ppMediaSink
);
参数
[in] pTargetByteStream
指向字节 流的 IMFByteStream 接口的指针。 媒体接收器将 ADTS 流写入此字节流。 字节流必须是可写的。
[in] pAudioMediaType
指向 IMFMediaType 接口的指针。 此参数指定 ADTS 流的媒体类型。 媒体类型必须包含以下属性。
Attribute | 值 |
---|---|
MF_MT_MAJOR_TYPE | MFMediaType_Audio |
MF_MT_SUBTYPE | MFAudioFormat_AAC |
MF_MT_AAC_PAYLOAD_TYPE | 0 (原始 AAC) 或 1 (ADTS) |
[out] ppMediaSink
接收指向 IMFMediaSink 接口的指针。 调用方必须释放接口。
返回值
如果此函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
ADTS 媒体接收器将高级音频编码 (AAC) 音频数据包转换为 ADTS 流。 此媒体接收器的主要用途是通过网络流式传输 ADTS。 输出不是音频文件,而是具有 ADTS 标头的音频帧流。
媒体接收器可以接受原始 AAC 帧 (MF_MT_AAC_PAYLOAD_TYPE = 0) 或 ADTS 数据包 (MF_MT_AAC_PAYLOAD_TYPE = 1) 。 如果输入是原始 AAC,则媒体接收器在每个音频帧的开头插入一个 ADTS 标头。 如果输入是 ADTS 数据包,则媒体接收器会将数据包传递到字节流,而无需修改。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | mfidl.h |
DLL | Mf.dll |