Настройка кодировки звука (Microsoft Media Foundation)
Кодировщик звука Windows Media перечисляет все поддерживаемые типы выходных данных в полной форме. Получите нужный тип путем вызова 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. Эти данные должны храниться в кодированном содержимом, чтобы его можно было доставлять в декодатор. Содержимое нельзя распаковываться без данных расширенного формата.
Связанные разделы