[DirectShow 이 페이지와 연결된 기능은 레거시 기능입니다. MediaPlayer, IMFMediaEngine및 Media Foundation 의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11에 최적화되었습니다. Microsoft는 가능하면 새로운 코드에서 MediaPlayer, IMFMediaEngine 및 Audio/Video Capture를 DirectShow대신 Media Foundation 사용하는 것이 좋습니다. 가능한 경우 레거시 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호출하여 다른 인터페이스에 대한 포인터를 가져올 수 있습니다.
개체를 만든 후에는 아직 타임라인의 일부가 아닙니다. 타임라인에 개체를 추가하는 메서드는 개체 형식에 따라 달라집니다. 다음 섹션에서는 타임라인에 그룹, 컴퍼지션 및 트랙을 추가하는 방법을 설명합니다.
관련 항목