MFCreateADTSMediaSink 函数 (mfidl.h)

创建音频数据传输流(ADTS)媒体接收器的实例。

Syntax

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 数据包,媒体接收器会将数据包传递到字节流,而无需修改。

要求

Requirement 价值
最低支持的客户端 Windows 8 [仅限桌面应用]
支持的最低服务器 Windows Server 2012 [仅限桌面应用]
目标平台 Windows操作系统
Header mfidl.h
Library Mf.lib
DLL Mf.dll

另请参阅

Media Foundation Functions