다음을 통해 공유


타임라인 개체 만들기

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 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를 호출하여 다른 인터페이스에 대한 포인터를 가져올 수 있습니다.

개체를 만든 후에는 아직 타임라인 일부가 아닙니다. 개체를 타임라인 추가하는 메서드는 개체 형식에 따라 달라집니다. 다음 섹션에서는 그룹, 컴퍼지션 및 트랙을 타임라인 추가하는 방법을 설명합니다.

타임라인 생성