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

另请参阅

媒体基础函数