Има ли дефиниран маркер за формат за Opus, който трябва да се използва със структурата WAVEFORMATEX? Вижте WAVEFORMATEX
структура, wFormatTag
.
MS формат етикет за Opus кодек
Отговори (2)
Windows SDK дефинира WAVE_FORMAT_OPUS
(0x704F == 'Op') и MFAudioFormat_Opus
a>, което е еквивалент на Media Foundation за предполагаемо MEDIASUBTYPE_OPUS
и е стандартно картографиране, базирано на FourCC от WAVE_FORMAT_OPUS
.
Тоест, те са предложени за използване идентификатори.
Въпреки това, собственото внедряване на декодера Opus на Microsoft не е достъпно за обществеността и е запазено за използване в продуктите на Microsoft (вероятно браузър Edge), така че няма възприета практика и дори документация повече за тези идентификатори и всеки сам как да ги използва (или използвайте нещо друго вместо това).
Докато няма официален етикет за формат за 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.
Вижте MMReg.h в Windows SDK