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


Пример 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.

Требования

Продукт Версия
Windows SDK Windows 7

 

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

Этот пример доступен в репозитории Github, посвященном классическим образцам Windows.

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

Преобразования платформы Media Foundation

Образец MFT_Grayscale

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