有人有这个工作吗?我相信我的 CodecPrivateData 搞砸了,但我找不到任何似乎有效的 WAVEFORMTEX FormatTags。我尝试了 0xFF00、0x1016 和 0x0116。我使用 MSDN 文档来完成字符串的其余部分。
我在 MMReg.h (WAVE_FORMAT_MPEG_ADTS_AAC 0x1600) 中找到了这个,它有一个 FormatTag(0x0016)。你会认为这是我应该使用的,但这也不起作用。
使用 0xFF 时,如果我避免重复调用流 GetSampleAsync 中的 adts 标头但没有播放。我知道流很好,因为我可以在 FooBar、VLC 和 Window Media Player 中播放它。当我将原始 AAC 粘贴到 MP4 容器中时,它在 silverlight 中运行良好,所以我知道 silverlight 支持 AAC 设置。
有人可以为我提供一个对他们有用的十六进制 CodecPrivateData 字符串吗?
编辑:
这是我认为应该工作的 PrivateCodecData 十六进制字符串的示例:
0x1016010080BB0000E02E0000010000000E000100FE0000000000000000001190
这个字符串直接从 OpenMediaAsync() 到 CloseMedia() 甚至没有尝试样本。MSDN 文档示例执行与此处相同的操作。我希望它至少在关闭之前尝试一个样本。