我一直在尝试使用 Media Foundation 将未压缩的 IEEE 浮点音频(MFAudioFormat_Float)编码为 AAC(MFAudioFormat_AAC),但 AAC 编码器似乎只能将未压缩的 PCM 音频(MFAudioFormat_PCM)作为输入- AAC 编码器。
当我使用 MFTEnum 或 MFTEnumEx 函数时:
hr = MFTEnum(
MFT_CATEGORY_AUDIO_ENCODER,
NULL, // Reserved
&tininfo /* MFAudioFormat_Float */, // Input type to match.
&toutinfo /* MFAudioFormat_AAC */, // Output type to match.
NULL, // Attributes to match. (None.)
&pCLSIDs, // Receives a pointer to an array of CLSIDs.
&count // Receives the size of the array.
);
它没有找到任何可用的编解码器(
count == 0
)。
那么是否可以使用媒体基金会来做到这一点?我可以找到其他编解码器并安装并使用吗?或者也许还有其他方法可以做到这一点,而我做错了什么?
https://learn.microsoft.com/en-us/windows/win32/medfound/aac-encoder
MF_MT_SUBTYPE Subtype. Must be MFAudioFormat_PCM.
MF_MT_AUDIO_BITS_PER_SAMPLE Bits per sample. Must be 16.
MF_MT_AUDIO_SAMPLES_PER_SECOND Samples per second. The following values are supported: 44100 (44.1 KHz) 48000 (48 KHz)