Opus编解码器的MS格式标签

时间:2014-09-10 07:31:49

标签: audio directshow opus

是否有一个定义的Opus格式标签应该与WAVEFORMATEX结构一起使用?请参阅WAVEFORMATEX structure, wFormatTag

2 个答案:

答案 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