创建音频数据传输流(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 |