Поделиться через


Использование голосового кодека Windows Media Audio

Аудиокодек Голосовой связи Windows Media обеспечивает сжатие с низкой скоростью, оптимизированное для аудио, содержащего речь. Способность кодека производить такие небольшие образцы обусловлена ограниченным диапазоном частот звуков человеческого голоса. Эта оптимизация означает, что выделенный голосовой кодировщик создает некачественные выходные данные для содержимого, содержащего более сложные звуки, такие как музыка. Тем не менее, кодек Голосовой связи Windows Media компенсирует эту потенциальную проблему качества, предоставляя отдельные режимы для голоса, музыки и смешанного содержимого. Кодек анализирует смешанное содержимое, чтобы определить, какой режим следует использовать для каждой части файла.

Кодек Голосовой связи Windows Media реализован в объекте кодировщика, определяемом идентификатором класса CLSID_CWMSPEncMediaObject2, и в объекте декодера, определяемом идентификатором класса CLSID_CWMSPDecMediaObject. Тег формата типов мультимедиа, использующих этот кодек, 0x00A.

Настройка кодировщика

Голосовой кодировщик поддерживает три режима: речь, музыка и смешанный. Каждый режим оптимизирован для получения наилучших результатов для этого типа контента. Режим голосового кодировщика можно настроить с помощью методов IPropertyStore , чтобы задать свойство MFPKEY_WMAVOICE_ENC_MusicSpeechClassMode .

При настройке для смешанного содержимого кодек Голосовой связи Windows Media автоматически обнаруживает фрагменты музыки в содержимом. Если вы не удовлетворены результатами, вы можете указать расположение музыки в содержимом с помощью списка решений по редактированию (EDL). Дополнительные сведения см. в статье Использование списка решений редактирования для кодирования голоса.

В отличие от других звуковых кодировщиков, значение окна буфера для голосового содержимого можно задать с помощью свойства MFPKEY_WMAVOICE_ENC_BufferWindow . Однако значения по умолчанию в большинстве случаев должны работать нормально.

Примечание

   При настройке голосового кодировщика очень важно задать тип вывода перед настройкой типа входных данных. Это рекомендуемый порядок операций для всех звуковых кодеков, но голосовой кодировщик может сообщать об ошибочных типах выходных данных, если входные данные заданы при вызове IMediaObject::GetOutputType или IMFTransform::GetOutputType.

 

Декодирование

Особых требований к декодированию голосового звука нет. Дополнительные сведения см. в разделе Настройка декодирования звука.

Работа со звуком