是否有一个定义的Opus格式标签应该与WAVEFORMATEX结构一起使用?请参阅WAVEFORMATEX
structure, wFormatTag
。
答案 0 :(得分:1)
Windows SDK定义WAVE_FORMAT_OPUS
(0x704F ==' Op')和MFAudioFormat_Opus
,这是与所谓的MEDIASUBTYPE_OPUS
等效的Media Foundation,并且是基于标准的FourCC来自WAVE_FORMAT_OPUS
的映射。
也就是说,建议使用标识符。
然而,微软自己的Opus解码器实现并不适用于微软的产品(大概是Edge浏览器),所以没有采用这种做法,甚至更多关于这些的文档标识符,以及每个人自己如何使用它们(或使用别的东西)。
答案 1 :(得分:0)
在有Opus的正式格式标记之前,我将使用WAVE_FORMAT_EXTENSIBLE代替,使用MEDIASUBTYPE_OPUS作为SubFormat参数。
#define WAVE_FORMAT_OPUS mmioFOURCC('O','P','U','S')
DEFINE_GUID(MEDIASUBTYPE_OPUS,
WAVE_FORMAT_OPUS, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
WAVEFORMATEXTENSIBLE允许您避免向Microsoft注册新的格式标记。
请参阅Windows SDK中的MMReg.h