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


Пример MFT_AudioDelay

Показывает, как реализовать звуковой эффект в виде преобразования Media Foundation (MFT). Задержка звука MFT принимает звук PCM в качестве входных данных, применяет эффект задержки (эхо) и выводит измененные звуковые данные.

Демонстрация API

В этом примере показаны следующие интерфейсы Microsoft Media Foundation:

Использование

В примере MFT_AudioDelay создается библиотека DLL, которая является COM-сервером для MFT. Перед использованием MFT необходимо зарегистрировать библиотеку DLL. Вы можете использовать средство TopoEdit для создания топологии, которая включает задержку звука MFT. Дополнительные сведения о TopoEdit см. в разделе TopoEdit. Вы также можете изменить пример PlaybackFX для использования MFT. Вам потребуется изменить функцию AddBranchToPartialTopology в Player.cpp. Измените следующую строку с:

else if (majorType == MFMediaType_Audio)
{
    hr = CreateAudioBranch(pTopology, pSourceNode, GUID_NULL);
}

В:

else if (majorType == MFMediaType_Audio)
{
    hr = CreateAudioBranch(pTopology, pSourceNode, CLSID_DelayMFT);
}

Значение CLSID_DelayMFT объявляется в файле заголовка AudioDelayUuids.h в папке примера MFT_AudioDelay.

Требования

Продукт Version
Windows SDK Windows 7

 

Скачивание примера

Этот пример доступен в репозитории классических примеров Windows на GitHub.

Примеры пакетов SDK Media Foundation

Преобразования Media Foundation

Пример MFT_Grayscale

Написание пользовательского MFT