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


Настройка кодировки звука (Microsoft Media Foundation)

Кодировщик Windows Media Audio перечисляет все поддерживаемые типы выходных данных в полной форме. Получите нужный тип, вызвав IMediaObject::GetOutputType или IMFTransform::GetAvailableOutputType, а затем задайте полученный тип без изменений в качестве выходного типа, вызвав IMediaObject::SetOutputType или IMFTransform::SetOutputType.

Типы выходных носителей, поддерживаемые аудиокодировщиком, изменяются по мере настройки свойств кодировщика. Перед перечислением типа вывода необходимо настроить все свойства кодировщика, которые вы хотите использовать.

Режимы двухпрохощи и VBR поддерживаются аудиокодировщиками, но настраиваются иначе, чем для видео. Дополнительные сведения см. в разделе Перечисление типов аудио для определенных режимов кодирования.

Типы входных данных, поддерживаемые аудиокодировщиком, недоступны, пока вы не задаете тип вывода. При вызове метода IMediaObject::GetInputType или IMFTransform::GetInputType перед заданием типа вывода метод возвращает DMO_E_NO_MORE_ITEMS или MFT_E_NO_MORE_TYPES соответственно. После установки типа выходных данных кодировщик перечисляет типы входных данных, поддерживаемые для выбранного типа вывода.

Кодировщик Windows Media Audio не выполняет повторную выборку звука. Это означает, что тип выходных данных кодировщика и тип входных данных кодировщика должны иметь одинаковое количество каналов, битов на выборку и частоту выборки. Дополнительные сведения см. в разделе Поиск типов выходных данных аудиокодировщика.

Примечание

   Каждый тип вывода, перечисляемый аудиокодировщиком, содержит структуру WAVEFORMATEX (на которую указывает AM_MEDIA_TYPE.pbFormat) с расширенными данными. Размер расширенных данных определяется с помощью WAVEFORMATEX.cbSize. Эти данные должны храниться вместе с закодированным содержимым, чтобы их можно было доставить в декодер. Содержимое не может быть распаковываться без данных расширенного формата.

 

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