2

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

4

2 回答 2

1

Windows SDK 定义WAVE_FORMAT_OPUS(0x704F == 'Op'),MFAudioFormat_Opus它是假定的媒体基础等效项MEDIASUBTYPE_OPUS,并且是基于标准 FourCC 的映射WAVE_FORMAT_OPUS

也就是说,建议使用这些标识符。

但是,尽管微软自己的 Opus 解码器实现不对外公开,​​并保留用于微软的产品(可能是 Edge 浏览器),所以没有采用的做法,甚至没有更多关于这些标识符的文档,每个人都自己如何使用它们(或改用其他东西)。

于 2017-11-16T19:26:40.210 回答
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

于 2014-09-19T11:03:16.350 回答