원본 추가
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
[이 API는 지원되지 않으며 나중에 변경되거나 사용할 수 없습니다.]
다른 타임라인 개체를 만드는 것과 동일한 방식으로 원본 개체를 만듭니다. 그러나 타임라인 삽입하기 전에 원본에서 적어도 다음 속성을 지정해야 합니다.
- 타임라인 기준으로 하는 시작 및 중지 시간입니다. IAMTimelineObj::SetStartStop 메서드를 호출합니다.
- 원본으로 사용할 미디어 파일입니다. 파일 이름을 나타내는 와이드 문자열을 사용하여 IAMTimelineSrc::SetMediaName 메서드를 호출합니다.
- 원본 파일을 기준으로 하는 미디어 시작 및 중지 시간입니다. IAMTimelineSrc::SetMediaTimes 메서드를 호출합니다. 미디어 시간에 대한 자세한 내용은 DirectShow Editing Services의 시간을 참조하세요.
다음 예제에서는 원본 클립이 파일로 4초간 시작됩니다. 미디어 기간은 10초이며, 타임라인 기간의 두 배 길이이며, 이는 소스가 두 배의 정상 속도로 재생됩니다. 상수 UNITS는 100000000(10^7)로 정의되며 1초와 같습니다.
pSourceObj->SetStartStop(0, 50000000)
BSTR bstrFile = SysAllocStringLen(OLESTR("C:\\example.avi"), 15);
pSource->SetMediaName(bstrFile);
SysFreeString(bstrFile);
pSource->SetMediaTimes(40000000, 140000000);
참고
현재 DES는 VCM(Video Compression Manager) 코덱으로 압축된 75개 이상의 원본을 동시에 렌더링할 수 없습니다. 또한 프로젝트 전체에 75개 이상의 원본이 포함된 경우 동적 다시 연결을 사용해야 합니다. 그렇지 않으면 DES에서 프로젝트를 미리 볼 수 없습니다. 자세한 내용은 IRenderEngine::SetDynamicReconnectLevel을 참조하세요.
원본에 대한 자세한 내용은 원본 작업을 참조하세요.
관련 항목