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


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

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

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

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

Чтобы создать объект любого типа в временная шкала, вызовите метод IAMTimeline::CreateEmptyNode. Например, следующий код создает новую группу:

IAMTimelineObj *pGroupObj = NULL;
pTL->CreateEmptyNode(&pGroupObj, TIMELINE_MAJOR_TYPE_GROUP);

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

Метод CreateEmptyNode создает объект и возвращает указатель на интерфейс IAMTimelineObj объекта. Он также увеличивает количество ссылок в интерфейсе IAMTimelineObj , поэтому по завершении использования интерфейса необходимо освободить его. Не вызывайте функцию CoCreateInstance . Вместо этого всегда используйте CreateEmptyNode для создания объекта временная шкала, так как он инициализирует новый объект для использования в временная шкала.

Интерфейс IAMTimelineObj является универсальным интерфейсом. Он предоставляет методы, общие для всех типов объектов временная шкала. Каждый тип объекта также предоставляет другие интерфейсы. Например, группы предоставляют интерфейс IAMTimelineGroup , среди прочего. Вы можете получить указатели на другие интерфейсы, вызвав QueryInterface.

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

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