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


Добавление источника

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде MediaPlayer, IMFMediaEngine и аудио/видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

[Этот API не поддерживается и может быть изменен или недоступен в будущем.]

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

В следующем примере исходный клип начинается через четыре секунды в файл. Длительность носителя составляет 10 секунд, что в два раза больше продолжительности временная шкала, то есть источник будет играть на двойной нормальной скорости. Константная UNITS определяется как 100000000 (10^7) и равна одной секунде.

pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile); 
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);

Примечание

В настоящее время DES не может одновременно отображать более 75 источников, сжатых с помощью кодеков диспетчера сжатия видео (VCM). Кроме того, если проект в целом содержит более 75 таких источников, необходимо использовать динамическое повторное подключение, иначе DES не сможет предварительно просмотреть проект. Дополнительные сведения см. в разделе IRenderEngine::SetDynamicReconnectLevel.

 

Дополнительные сведения об источниках см. в разделе Работа с источниками.

Создание временной шкалы